章節 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 產生衝突怎麼辦?