Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fixed some bugs

  • Loading branch information...
commit f28bf4df6a415846ffcd318280efe35944299023 1 parent abddf2a
@chunzi chunzi authored
Showing with 6 additions and 10 deletions.
  1. +6 −10 zh/05-distributed-git/01-chapter5.markdown
View
16 zh/05-distributed-git/01-chapter5.markdown
@@ -433,7 +433,6 @@ Insert 18333fig0515.png
现在,A、B 两个特性分支各不相扰,如同竹筒里的两颗豆子,队列中的两个补丁,你随时都可以分别从头写过,或者衍合,或者修改,而不用担心特性代码的交叉混杂。如图 5-16 所示:
-
Insert 18333fig0516.png
图 5-16. featureB 以后的提交历史
@@ -568,11 +567,11 @@ Insert 18333fig0518.png
如果想要集成新的代码进来,最好局限在特性分支上做。临时的特性分支可以让你随意尝试,进退自如。比如碰上无法正常工作的补丁,可以先搁在那边,直到有时间仔细核查修复为止。创建的分支可以用相关的主题关键字命名,比如 `ruby_client` 或者其它类似的描述性词语,以帮助将来回忆。Git 项目本身还时常把分支名称分置于不同命名空间下,比如 `sc/ruby_client` 就说明这是 `sc` 这个人贡献的。现在从当前主干分支为基础,新建临时分支:
- $ git branch sc/ruby_client master
+ $ git branch sc/ruby_client master
另外,如果你希望立即转到分支上去工作,可以用 `checkout -b`:
- $ git checkout -b sc/ruby_client master
+ $ git checkout -b sc/ruby_client master
好了,现在已经准备妥当,可以试着将别人贡献的代码合并进来了。之后评估一下有没有问题,最后再决定是不是真的要并入主干。
@@ -767,9 +766,7 @@ Insert 18333fig0522.png
Insert 18333fig0523.png
图 5-23. 特性分支发布后
-这样,在人们克隆仓库时就有两种选择:既可检出最新稳定版本,确保正常使用;也能检出开发版本,试用最前沿的新特性。
-
-你也可以扩展这个概念,先将所有新代码合并到临时特性分支,等到该分支稳定下来并通过测试后,再并入 `develop` 分支。然后,让时间检验一切,如果这些代码确实可以正常工作相当长一段时间,那就有理由相信它已经足够稳定,可以放心并入主干分支发布。
+这样,在人们克隆仓库时就有两种选择:既可检出最新稳定版本,确保正常使用;也能检出开发版本,试用最前沿的新特性。你也可以扩展这个概念,先将所有新代码合并到临时特性分支,等到该分支稳定下来并通过测试后,再并入 `develop` 分支。然后,让时间检验一切,如果这些代码确实可以正常工作相当长一段时间,那就有理由相信它已经足够稳定,可以放心并入主干分支发布。
#### 大项目的合并流程 ####
@@ -789,10 +786,10 @@ Insert 18333fig0525.png
一些维护者更喜欢衍合或者挑拣贡献者的代码,而不是简单的合并,因为这样能够保持线性的提交历史。如果你完成了一个特性的开发,并决定将它引入到主干代码中,你可以转到那个特性分支然后执行衍合命令,好在你的主干分支上(也可能是`develop`分支之类的)重新提交这些修改。如果这些代码工作得很好,你就可以快进`master`分支,得到一个线性的提交历史。
-另一个引入代码的方法是挑拣。挑拣类似于针对某次特定提交的衍合。它首先提取某次提交的补丁,然后试着应用在当前分支上。如果某个特性分支上有多个commits,但你只想引入其中之一就可以使用这种方法。也可能仅仅是因为你喜欢用挑拣,讨厌衍合。假设你有一个类似图 5-26的工程
+另一个引入代码的方法是挑拣。挑拣类似于针对某次特定提交的衍合。它首先提取某次提交的补丁,然后试着应用在当前分支上。如果某个特性分支上有多个commits,但你只想引入其中之一就可以使用这种方法。也可能仅仅是因为你喜欢用挑拣,讨厌衍合。假设你有一个类似图 5-26 的工程
Insert 18333fig0526.png
-Figure 5-26. 挑拣(cherry-pick)之前的历史
+ 5-26. 挑拣(cherry-pick)之前的历史
如果你希望拉取`e43a6`到你的主干分支,可以这样:
@@ -804,7 +801,7 @@ Figure 5-26. 挑拣(cherry-pick)之前的历史
这将会引入`e43a6`的代码,但是会得到不同的SHA-1值,因为应用日期不同。现在你的历史看起来像图 5-27.
Insert 18333fig0527.png
-Figure 5-27. 挑拣(cherry-pick)之后的历史
+ 5-27. 挑拣(cherry-pick)之后的历史
现在,你可以删除这个特性分支并丢弃你不想引入的那些commit。
@@ -887,7 +884,6 @@ Figure 5-27. 挑拣(cherry-pick)之后的历史
这就是自从v1.0.1版本以来的所有提交的简介,内容按照作者分组,以便你能快速的发e-mail给他们。
-
## 小结 ##
你学会了如何使用Git为项目做贡献,也学会了如何使用Git维护你的项目。恭喜!你已经成为一名高效的开发者。在下一章你将学到更强大的工具来处理更加复杂的问题,之后你会变成一位Git大师。
Please sign in to comment.
Something went wrong with that request. Please try again.