Git:合并分支,不包括上次提交

时间:2013-12-08 02:40:26

标签: git git-merge

常见的情况是将分支合并到最后一次提交:

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

但我想排除最后一次提交,如下所示:

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

是否可以将topic分支合并到master中而不包括topic的最后一次提交?

2 个答案:

答案 0 :(得分:4)

合并时,您不需要说分支名称,只需要提交引用。

假设B是分支topic上的倒数第二次提交,您可以这样做:

git checkout master
git merge topic~

~表示“之前的提交”。您可以通过man gitrevisions了解有关如何引用提交的详细信息。

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

答案 1 :(得分:2)

  

我的意思是“将B合并到没有C的主人”。 - kangear 1分钟前

然后就这样做。将B合并到master。按提交ID而不是分支名称进行合并是完全有效的:

$ git checkout master
$ git merge B