合并几个分支提交到master

时间:2016-12-11 22:22:46

标签: git github merge

是否可以将分支中的多个但不是所有git提交合并到主分支?

例如,假设我在分支'test'中添加了几个提交(1,2和3)。它们都与文件test.py有关,但没有冲突。 我如何合并提交1和2,但不提交3

最好是我想要一个GUI工具。

1 个答案:

答案 0 :(得分:0)

如果提交的顺序与您的问题相符,就像评论中提到的那样,您应该使用git merge <2>(其中<2>可以在您的问题中引用您调用提交2的任何方式:例如SHA-1哈希或test^,用于分支test中倒数第二次提交。

更一般地说,您可以使用git cherry-pick来选择test中特定提交所做的更改,如下所示:

git checkout master
git cherry-pick <1>
git cherry-pick <2>
... #However many more you want to cherry pick

请注意,这实际上不是合并:它会在主分支上重放您的提交。但这就是它必须如此:合并一部分分支并没有意义。如果你希望它是一个合并,你可以在testmaster分歧的提交中创建一个新分支,选择你想要的提交,然后合并那个分支。