如何同时进行多篇文章的翻译-GCTT 项目

栏目: 编程工具 · 发布时间: 6年前

内容简介:一个 PR 提交了多篇文章,这和流程中的『PR 请只包含一篇文章的翻译成果』的要求是冲突。对于熟悉 Git 开发流程人来说,是一个很简单的问题,利用 Git 的分支。下面我们会介绍这种方法:

GCTT 项目的工作流程为: 选题->翻译->提交->校验->发布。如果译者每次都按照此流程完成一篇译文,再翻译下一篇的时,只要在 master 这个分支上进行简单操作即可。有时候,可能同时进行几篇文章的翻译,如果都在 Master 分支上工作,就有可能出现这样的情况:

如何同时进行多篇文章的翻译-GCTT 项目

一个 PR 提交了多篇文章,这和流程中的『PR 请只包含一篇文章的翻译成果』的要求是冲突。对于熟悉 Git 开发流程人来说,是一个很简单的问题,利用 Git 的分支。下面我们会介绍这种方法:

Fork studygolang/GCTT 仓库

如何同时进行多篇文章的翻译-GCTT 项目

成功 Fork 后,你会在自己的账号下,发现 GCTT 的仓库。

如何同时进行多篇文章的翻译-GCTT 项目

下载自己的仓库的 master 分支到本地

anonymous2123 为我们的测试账号,你可以将 anonymous2123 替换成你自己的账号运行以下命令。

λ git clone https://github.com/anonymous2123/GCTT.git
Cloning into 'GCTT'...
remote: Counting objects: 7459, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 7459 (delta 5), reused 14 (delta 5), pack-reused 7443
Receiving objects: 100% (7459/7459), 12.65 MiB | 973.00 KiB/s, done.
Resolving deltas: 100% (4979/4979), done.

利用分支翻译

一个重要的原则是, 一个分支只对应一篇文 ,这里隐藏了一个问题,分支应该从哪里创建出来,我们的建议是保持 master 分支不动,所有的翻译分支都从 master 分支创建出来。 了解更多关于分支

创建 trans_article_1 分支,并切换到该分支

git branch trans_article_1
git checkout trans_article_1

或者使用 -b 参数一步达成

git checkout -b trans_article_1

接下来,就可以在该分支进行翻译。翻译完成后,将工作提交到分支之中。

在正式推送到 Github 之前,你需要保证和 studygolang/GCTT 是同步的,以防止在提出 PR 的时候出现冲突。

git remote add upstream https://github.com/studygolang/GCTT.git // 只需要第一次做,之后不需要该步骤
git fetch upstream
git rebase upstream/master

trans_article_1 分支推动到你的 Github 仓库中,并以此在 Github 中创建相应的分支。

git push -f origin trans_article_1

Github 的效果如下,有 mastertrans_article_1 两个分支:

如何同时进行多篇文章的翻译-GCTT 项目

最后,你只需要像在 master 分支一样,在 trans_article_1 分支向 studygolang/GCTT 提出 PR 请求。

如何同时进行多篇文章的翻译-GCTT 项目

利用分支进行多篇翻译

当你同时进行另一篇翻译的时候,你需要回到 master 分支下,再创建一个新分支 trans_article_2 。注意不要在 trans_article_1 中创建 trans_article_2 分支。如此做,就意味着你把你上一篇翻译的文章引入到这一篇的分支中,在提交 PR 时,就会出现两篇文章,这不满足『PR 请只包含一篇文章的翻译成果』的要求。

git checkout master 
git checkout -b trans_article_2

trans_article_2 分支中,执行相同的流程: 翻译,commit,与 studygolang/GCTT 同步,提交到 Github 中,提出 PR,最后完成翻译。

总结

以上的流程中,你有几篇文章,就有会几个分支,每一个分支都会向 studygolang/GCTT 提出自己 Pull Request。如果你需要修订你某一分支的提交,并不会影响其他分支。

这只是 Git&Github 的很小的一个应用场景,如果你想了解更多关于 Git 的知识,Git 的官方文档,或是 《Pro Git》 都不错的方式。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法导论(原书第2版)

算法导论(原书第2版)

[美] Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest、Clifford Stein / 潘金贵 等 / 机械工业出版社 / 2006-9 / 85.00元

这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图......一起来看看 《算法导论(原书第2版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换