2013-12-08 85 views
-3

常見的情況是將分支合併到它的最後一次提交:混帳:合併分支最後排除提交

 A---B---C topic 
    /  \ 
D---E---F---G---H master 

,但我想排除最後一次提交,像這樣:

 A---B---C topic 
    / \ 
    D---E---F---G master 

如果不包括topic的最後一次提交,是否可以合併topic分支?

+0

http://git-scm.com/docs/git-merge另外,爲什麼你有兩個同名的提交? –

+0

不可能告訴你在問什麼。你的意思是你想將'C'合併到'master'而不移動分支指針'topic'? 「D」與什麼有關?如果你在你試圖做什麼的圖表前後展示我們,你可能會有更好的運氣。此外,它是「請」,而不是「請」。 – meagar

+0

這不是要點 – kangear

回答

2

合併時,你不需要說一個分支的名字,你只需要提交的參考。

假設B是倒數第二個提交的分支topic,你可以這樣做:

git checkout master 
git merge topic~ 

~的意思是「之前的承諾」。您可以通過man gitrevisions瞭解更多關於如何引用提交的信息。

作爲替代方案,您可以直接提供提交B的SHA1。

+0

謝謝!我的英文很差。 :) – kangear

+0

git merge topic〜$ {n}可以做到這一點。但是如何根據SHA1來指定合併到指定的提交。 – kangear

2

我的意思是「將B併入沒有C的主」。 - kangear 1分鐘前

然後就這樣做。將B合併到master。這是完全有效的合併通過提交ID而不是分公司名稱:

$ git checkout master 
$ git merge B