Git Merge Strategies- The first sight
執行merge會把兩個分支上的改動合而為一,git 會用不同的方法去找到commit 改動的源頭,這方法為merge strategies。git merge, git pull 在沒特定用-s去指定合併策略,會自動選擇最適合的方式。
- Recursive, pull or merge 預設的merge strategy, 處理兩個分支之間的合併。若在發現欲合併的兩個分支有衝突,則會出現conflict的版本差異,修正後再進行commit。
- resolve, 用3-way merge algorithm 去做,遇到差異直接自動合併。會造成合併成功但程式 ,但程式邏輯是被污染。
- ours, 不衝突的狀況下就用預設的合併模式,但有衝突則會將用自己的修改為主。
- theirs, 與ours相反,在有衝突的狀況下,會是以來自其他branch修改內容為主
- octopus, 與許多個branches一次合併。
- subtree, 修正版本的3-way merge algorithm,會將其合併的兩個分支,其中一個分支為另一個的sub tree
留言
張貼留言