章節 28 合併

學習目標

合併分支(merge) 01

把兩個分離的支線(branch)整合在一起。現在讓我們切回 greet 這個分支然後把 master 的修改合併過來。

執行:

git checkout greet
git merge master
git hist --all

輸出:

$ git checkout greet
Switched to branch 'greet'
$ git merge master
Merge made by the 'recursive' strategy.
 README |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 README
$ git hist --all
*   a0750b6 2012-03-06 | Merge branch 'master' into greet (HEAD, greet) [Jim Weirich]
|\  
| * 3ce0095 2012-03-06 | Added README (master) [Jim Weirich]
* | e2257cb 2012-03-06 | Updated Rakefile [Jim Weirich]
* | a93f079 2012-03-06 | Hello uses Greeter [Jim Weirich]
* | 4b9457a 2012-03-06 | Added greeter class [Jim Weirich]
|/  
* 76ba0a7 2012-03-06 | Added a Rakefile. [Jim Weirich]
* b8f15c3 2012-03-06 | Moved hello.rb to lib [Jim Weirich]
* 9c78ad8 2012-03-06 | Add an author/email comment [Jim Weirich]
* 4054321 2012-03-06 | Added a comment (v1) [Jim Weirich]
* 1b754e9 2012-03-06 | Added a default value (v1-beta) [Jim Weirich]
* 3053491 2012-03-06 | Using ARGV [Jim Weirich]
* 3cbf83b 2012-03-06 | First Commit [Jim Weirich]

定期把 master 的修改合併到 greet 分支 ,您也可以把修改整合到 master 保持 greet 和 master 的修改是一致的。

然而,這麼做您的送交樹呈現出來的圖形會非常混亂。稍後我們會學到 rebase 這個指令(重新定義參考基準),它可以用來整理整個歷史紀錄。

下一步 02

在這之前,如果我們在合併的時候 master 和 greet 產生衝突怎麼辦?

目錄