Git Merge Strategies- The first sight

執行merge會把兩個分支上的改動合而為一,git 會用不同的方法去找到commit 改動的源頭,這方法為merge strategies。git merge, git pull 在沒特定用-s去指定合併策略,會自動選擇最適合的方式。

  1. Recursive, pull or merge 預設的merge strategy, 處理兩個分支之間的合併。若在發現欲合併的兩個分支有衝突,則會出現conflict的版本差異,修正後再進行commit。
  2. resolve, 用3-way merge algorithm 去做,遇到差異直接自動合併。會造成合併成功但程式 ,但程式邏輯是被污染。
  3. ours,  不衝突的狀況下就用預設的合併模式,但有衝突則會將用自己的修改為主。
  4. theirs, 與ours相反,在有衝突的狀況下,會是以來自其他branch修改內容為主
  5. octopus, 與許多個branches一次合併。
  6. subtree, 修正版本的3-way merge algorithm,會將其合併的兩個分支,其中一個分支為另一個的sub tree

留言

這個網誌中的熱門文章

[專案] 銀行端末系統

如何在MacOS 中自由切換不同Python版本 - pyenv + virtualenv

用 C# 控制 Win7 輸入法