首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >翻译git版本文档的最佳实践

翻译git版本文档的最佳实践
EN

Stack Overflow用户
提问于 2013-12-14 21:52:29
回答 1查看 292关注 0票数 3

我正在把一些文件翻译成日语。这个文档正在用git进行版本化。

由于文档将被一次又一次地更新,翻译也需要跟踪变化。我创建了"ja“分支,并将它们复制到"ja”目录中,如下所示:

代码语言:javascript
复制
.
├── 01.1.md
├── 01.2.md
├── README.md
└── ja
    ├── 01.1.md
    ├── 01.2.md
    └── README.md

然后我开始逐个翻译原稿。现在我想知道哪些提交到目前为止还没有翻译。我应该如何在翻译的提交和原始的提交之间联系起来?我是否可以改进版本控制相关的工作,如恢复原始提交树?

示例(更新)

现在,整个提交日志如下所示:

代码语言:javascript
复制
$ 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,即使它包含修改后的内容。

代码语言:javascript
复制
$ git checkout master
$ git cherry --some-magic-option ja

+ aff68a6eb865590dab3768edeac43a318834dea0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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,以获得一个视觉上的印象是怎么回事。

这将产生这样的图形:

代码语言:javascript
复制
→ M → T  →  M → T  →  M → T → (ja)
  ↑         ↑         ↑
→ O    →    O    →    O   →   (master)

其中O是一个原始提交,M是合并,T是转换提交。

您还可以将翻译直接添加到合并提交中,使每个原始提交只有一个(合并)提交,但可能有两个单独提交可能会更清楚一些。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20588669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档