在Github上自动合并拉取请求而不显示合并冲突框

39

Github上的“此拉取请求可以自动合并[合并拉取请求]”按钮很不错,但它会创建合并冲突。

有没有一种方法可以在Github上使用此按钮/功能而不会创建合并冲突?


不确定我以前听过“bubble”这个术语(与git相关);我猜它的意思是“commit”? - chharvey
@chharvey 请谷歌搜索“合并排序冒泡”。 :) - Marco
2个回答

40

不。

Git博客中提到,使用这个按钮总是会得到一个--no-ff合并(非快进式合并)。

如果你不想要合并冒泡,则必须手动合并:

git checkout master
git remote add cameronmcefee git://github.com/cameronmcefee/Spoon-Knife.git
git fetch cameronmcefee 
git merge cameronmcefee/my-branch
git push origin master

1
你可以设置你的仓库来获取拉取请求,而不需要添加远程地址:https://help.github.com/articles/checking-out-pull-requests-locally - Daniel James
2
我们对GitHub上的https://github.com/checkstyle/checkstyle/blob/master/fast-forward-merge.sh进行了简单的自动化,以进行快进合并。 - Roman Ivanov
在这种情况下,“--no-ff”的原因是什么? - gvlasov

3

并且......他们解决了这个问题!

请查看GitHub有关压缩合并提交的博客

如果您前往存储库的设置,您将看到一个“合并按钮”部分(在选项下方)。它将提供2个可用按钮:

允许合并提交
将头分支中的所有提交添加到基本分支中,并形成一个合并提交。

允许压缩合并
在基本分支中将来自头分支的所有提交合并为一个单独的提交。

如果您取消选择第一个选项(并保持允许压缩合并已选中),PR“合并”将会变成重置合并,并进行压缩。


10
除非你有多个提交需要保持分开,否则Squash不等同于使用rebase + 快进合并。 - Florent Guillaume
@FlorentGuillaume 你说得完全正确!不幸的是,这与避免合并冲突或不合并冲突没有任何关系。 ;D - Marco
3
我只是在说,“允许合并分支”除了避免合并冲突之外,还有其他(显而易见的)副作用。 - Florent Guillaume

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接