我有兩個分支。一個是master
,另外一個我myBranch
,他們是這個樣子:如何合併git中的2個分支僅保留一個分支的更改
master
|
| myBranch
|/
|/
|/
|
我想將它們合併成一個分支,保持所有的變化從master
分支,而不是從myBranch
保持什麼。
我有兩個分支。一個是master
,另外一個我myBranch
,他們是這個樣子:如何合併git中的2個分支僅保留一個分支的更改
master
|
| myBranch
|/
|/
|/
|
我想將它們合併成一個分支,保持所有的變化從master
分支,而不是從myBranch
保持什麼。
$ git checkout -b new-branch
$ git merge -s ours myBranch
如果你想這直接master
發生,只是省略了第一個命令。
PS:「user4815162342」是對的,我的意思是-s
不是-X
。
只要刪除分支: git branch -d "myBranch"
使用ours
合併策略合併分支:
git checkout -b new-branch master
git merge -s ours myBranch
注意,這是從-X ours
截然不同,如在Koraktor的答案進行初始計量。 -X ours
是recursive
戰略的一個選項,該戰略仍會保留myBranch
的所有更改,但在衝突衝突的情況下,優先選擇來自主的決議。另一方面,-s ours
完全忽略了myBranch
引入的更改。
@Koraktor感謝編輯! – user4815162342
我想我知道你的意思 - 我有同樣的問題,但是你寫下你的問題的方式,聽起來好像答案是「保持主人並拋棄我的分支」.... – MortenSickel
這聽起來像只保留'master'分支並刪除'myBranch'。 – cspolton
如果您不希望'myBranch'中的更改爲什麼要執行'merge'? – Atropo