目的

我们已经保持 greet 分支与 master 最新(通过变基),现在让 我们合并 greet 中的更改回到 master 分支。

合并 greet 到 master 中

  1. $ git checkout master
  2. $ git merge greet
  1. $ git checkout master
  2. Switched to branch 'master'
  3. $
  4. $ git merge greet
  5. Updating b59a8c2..2fae0b2
  6. Fast-forward
  7. Rakefile | 2 +-
  8. lib/greeter.rb | 8 ++++++++
  9. lib/hello.rb | 6 ++++--
  10. 3 files changed, 13 insertions(+), 3 deletions(-)
  11. create mode 100644 lib/greeter.rb

因为 master 的头是 greet 分支头的直接祖先,所以 Git 可以做 快进合并。当快进时,分支指针简单地前进到与 greet 分支相同 的提交处。

在快进合并中从来不会冲突。

回顾日志

  1. $ git hist
  1. $ git hist
  2. * 2fae0b2 2013-04-13 | Updated Rakefile (HEAD, master, greet) [Jim Weirich]
  3. * 1c23048 2013-04-13 | Hello uses Greeter [Jim Weirich]
  4. * 62d7ce0 2013-04-13 | Added greeter class [Jim Weirich]
  5. * b59a8c2 2013-04-13 | Added README [Jim Weirich]
  6. * 96ee164 2013-04-13 | Added a Rakefile. [Jim Weirich]
  7. * 0f36766 2013-04-13 | Moved hello.rb to lib [Jim Weirich]
  8. * eb30103 2013-04-13 | Add an author/email comment [Jim Weirich]
  9. * 1f7ec5e 2013-04-13 | Added a comment (v1) [Jim Weirich]
  10. * 582495a 2013-04-13 | Added a default value (v1-beta) [Jim Weirich]
  11. * 323e28d 2013-04-13 | Using ARGV [Jim Weirich]
  12. * 9416416 2013-04-13 | First Commit [Jim Weirich]

greet 和 master 分支现在相同了。