Thanks to visit codestin.com
Credit goes to github.com

Skip to content

workflow_zh

Zhu Ming edited this page Oct 13, 2014 · 5 revisions

工作流程

内容

  1. 工作分支
  2. 翻译检查清单
  3. 提交拉取请求(*Pull Request*)
  4. 拉取你做的改动

工作分支

你要选一个分支作为你的工作区。如果你克隆了我的 CakePHP docs fork,你可以用 zh_work 分支。因为这个分支包括所有之前做的而还没有提交的翻译工作,你不会失去任何已经做的部分。否则你就要创建自己的功能分支,并从我的 zh_work 分支选取相关的已翻译文件作为你工作开始的基础。

切换到你选择的分支,开始你的翻译工作。记得阅读 文档 并确保你了解所有在这个文档中用到的 sphinx 语法。

所有文档的简体中文翻译位于 /zh/ 目录中,所以你的翻译工作也应当放在这个目录中。不过我们使用的简体中文语言代码是 zh_CN。这些都已经在 sphinx 的配置和构建脚本中设置好了,你对此不用操心。

翻译检查清单

在你完成一些翻译工作,并准备提交的时候,确保你的工作符合起码的标准。

如果你翻译的文件之前在官方文档中没有翻译过,你应当完成整个文件的翻译才能提交。请阅读 检查清单 ,并确保你了解完整翻译的要求。

如果你是改进现有的翻译,确保你也遵循同样的要求。

如果你对自己的翻译工作满意的话,就用一个有意义的提交信息提交你的翻译工作。通常我们会在提交信息的开头加入语言代码。所以简体中文的提交信息就可以是 [zh_CN] done /zh/models.rst 。务必记得,所有的提交信息都必须使用作为标准交流语言的英文,因为项目的维护人员不认识中文。

提交拉取请求(Pull Request)

在检查清单核对之后,按照下面的步骤来准备你的工作并提交拉取请求(Pull Request)。

同步主(master)分支

首先你要从官方文档项目得到最新的变化。切换到 master 分支,然后从 upstream/master 远程仓库拉取。

现在选择一个功能分支来存放你的工作,用于拉取请求。通常你会从一个功能分支开始翻译工作,但是在这个翻译项目中这个方法不适用,因为在 zh_work 分支中有还没有提交的翻译工作。

准备功能分支(feature branch)

接下去,如果你从一个功能分支开始你的翻译工作,你不必做这一步骤。不过,如果你从我的 zh_work 开始,那么请从 master 分支创建一个功能分支用于拉取请求(Pull Request)。

现在你应该位于这个功能分支中。用 代码集成 中描述的 cherry pick 或者手工合并或者任何方法,来把**仅仅**你的工作(不包括任何其它改动)合并到这个分支中。但是通常的 merge 方法在这里不适用,因为 zh_work 分支包含没有完成的翻译,而这是你不要提交的。这也是为什么要从未完成的 zh_work 分支开始翻译的原因。

创建拉取请求(Pull Request)

接下去,推送(push)你的 master 分支和功能分支(或者 zh 分支,如果你是使用我的复制(fork))到 origin 远程仓库。

然后使用浏览器访问 Github 上的复制仓库。例如,我的复制仓库就是 https://github.com/blackpuppy/docs 。转到 分支页面 并点击那个功能分支(我的就是 zh 分支)旁边的 New pull request 按键。一个新的拉取请求(pull request)创建页面就会显示,包括的改动就是比较 master 分支和功能分支得到的。这也是为什么之前你要从官方文档项目更新 master 分支和功能分支、并且把这两个分支推送到复制仓库的原因。

查看并确认这些改动就是你要提交的之后,点击 Create pull request 按键。新的拉取请求(pull request)就创建好了,等待项目维护人员核准并合并。如果维护人员认为你的翻译需要更正或改进,他们会要求你做进一步的改动。你可以在功能分支中做改动,再推送到复制仓库。额外的改动就会包括在同一个拉取请求(pull request)中,如果维护人员还没有合并拉取请求的话。

拉取你做的改动

一旦在维护人员合并了你的拉取请求(pull request)之后,就会自动启动构建过程。你可以在 CakePHP CI 查看构建的状态。在构建成功完成后,你就可以在 官方文档 看到你的翻译工作了。

在你的工作合并进入官方文档项目之后,你的翻译就会成为官方文档项目的一部分。现在你可以从官方 CakePHP 文档项目来拉取你的改动到 master 分支,再合并到其它分支中(zh_workoschina 分支)。然后,在推送这些分支到相应的远程仓库,比如 origin/zh_workorigin/oschinaoschina/master,这样你的团队也能得到最新的更新。

Clone this wiki locally