我正在把一些文件翻译成日语。这个文档正在用git进行版本化。
由于文档将被一次又一次地更新,翻译也需要跟踪变化。我创建了"ja“分支,并将它们复制到"ja”目录中,如下所示:
.
├── 01.1.md
├── 01.2.md
├── README.md
└── ja
├── 01.1.md
├── 01.2.md
└── README.md然后我开始逐个翻译原稿。现在我想知道哪些提交到目前为止还没有翻译。我应该如何在翻译的提交和原始的提交之间联系起来?我是否可以改进版本控制相关的工作,如恢复原始提交树?
示例(更新)
现在,整个提交日志如下所示:
$ git log --graph --all --oneline --decorate
* 63978c0 (HEAD, ja) cherry-pick 220d6f3 + translate
* eef200a cherry-pick 1f828c2 + translate
* 319100b copy files to ja dir
| * 220d6f3 (master) append line to 01.1.md
| * aff68a6 add text to 01.2.md
| * 1f828c2 add text to 01.1.md
|/
* 33db727 init (touch {01.1.md|01.2.md|README.md})我想知道我是否可以git-cherry,即使它包含修改后的内容。
$ git checkout master
$ git cherry --some-magic-option ja
+ aff68a6eb865590dab3768edeac43a318834dea0发布于 2013-12-15 11:46:25
由于两个分支共享相同的文件(而且ja分支只添加翻译),我建议定期将master合并到ja中。
基本上,你首先要把新的大师的变化合并到你的翻译部门。这应该没有问题,因为您的翻译分支不会更改原始文件。
之后,您可以使用git diff HEAD^或git show -m查看新的更改,并在翻译中添加另一个commit。
如果您想检查未翻译的提交,那么可以执行git fetch; git log -p ja..origin/master,这显示了您在远程主服务器上的所有提交,您还没有将这些提交合并到本地ja分支中。
当然,这不能检查您是否真正正确地翻译了所有内容,但是它允许您执行类似git log -p -m --first-parent这样的操作来手动检查自己。这应该交替地显示一个已翻译的diff (由您翻译)和一个未翻译的提交(来自合并)。
你也可以做git fetch; gitk --all,以获得一个视觉上的印象是怎么回事。
这将产生这样的图形:
→ M → T → M → T → M → T → (ja)
↑ ↑ ↑
→ O → O → O → (master)其中O是一个原始提交,M是合并,T是转换提交。
您还可以将翻译直接添加到合并提交中,使每个原始提交只有一个(合并)提交,但可能有两个单独提交可能会更清楚一些。
https://stackoverflow.com/questions/20588669
复制相似问题