2014-03-05 162 views
1

我想合併一個分支到另一個分支有選擇地&然後合併另一個分支忽略之間的1分支。我怎麼用Git來做到這一點?我正在使用Git Extensions for visual studio。 enter image description here在git中合併2個分支忽略中間的分支?

+1

你是什麼意思「忽略中間的一個分支」?你的意思是忽略一個提交?您可以直接將合併提交,也可以選擇它,如果它不直接位於分支點之後。 – Daniel

+0

@Daniel我想忽略分支右側的提交1(沒有圓圈)。 –

+1

「祕密」是這樣的:合併實際上並不在分支中合併。它實際上合併在一個* commit *中。如果提交是分支提示,那麼在分支中有合併的*效果*。要合併一個特定的提交,'git merge commit-ID'(commit-ID是一個SHA-1,或者分支〜N,或者其他什麼)(你可能想用'--no-commit',這樣你就可以調整合並消息,儘管如果你喜歡,你可以隨時'commit --amend')。 – torek

回答

2

在git中,你並不真正合並分支。您通過添加新的合併提交來合併兩個提交。新的合併提交將這兩個提交作爲父項幷包含合併結果。

如果我正確理解你的問題,你想合併兩個圈出來的提交,它們現在被Logout_IdleUserVarious_Fix引用。

在這種情況下,你可能想要做的:

git checkout Logout_IdleUser 
git merge Various_Fix 

這將合併雙方通過創建一個合併提交盤旋提交。它也將移動Logout_IdleUser指向新的合併提交。

如果你想要一個不同的結果,請更精確地描述你預期的最終情況。