合并

April 15, 2014 @ 10:53 AM

目的

学习如何合并两个分叉的分支以便将更改带回到单一分支。

合并分支

合并将两个分支中的更改结合在一起。让我们回到 greet 分支, 并将 master 合并过来。

$ git checkout greet
$ git merge master
$ git hist --all
$ git checkout greet
Switched to branch 'greet'
$ git merge master
Merge made by recursive.
 README |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 README
$ git hist --all
*   844d1ed 2013-04-13 | Merge branch 'master' into greet (HEAD, greet) [Jim Weirich]
|\  
| * b59a8c2 2013-04-13 | Added README (master) [Jim Weirich]
* | 28917a4 2013-04-13 | Updated Rakefile [Jim Weirich]
* | 4dac415 2013-04-13 | Hello uses Greeter [Jim Weirich]
* | 39347b3 2013-04-13 | Added greeter class [Jim Weirich]
|/  
* 96ee164 2013-04-13 | Added a Rakefile. [Jim Weirich]
* 0f36766 2013-04-13 | Moved hello.rb to lib [Jim Weirich]
* eb30103 2013-04-13 | Add an author/email comment [Jim Weirich]
* 1f7ec5e 2013-04-13 | Added a comment (v1) [Jim Weirich]
* 582495a 2013-04-13 | Added a default value (v1-beta) [Jim Weirich]
* 323e28d 2013-04-13 | Using ARGV [Jim Weirich]
* 9416416 2013-04-13 | First Commit [Jim Weirich]

通过周期性地合并 master 到 greet 分支,你可以选择 master 的 任意更改,并保持 greet 中的更改与主干中的更改兼容。

然而,这会产生丑陋的提交图。稍后我们将看看变基替代合 并这个选项。

下一步

如果 master 中的更改与 greet 中的冲突怎么办?