如何在bitbucket中防止无用的合并提交?

时间:2015-10-28 15:32:07

标签: git merge

我正在使用与PHPCI的持续集成并使用多个分支。目前,我们很高兴使用master分支来提交(并直接构建)所有更改。

当另一个程序员推送一些东西,我必须提交我的东西时,通常会发生以下情况:

git commit -a -m 'fixed some stuff'
git pull origin master # -- this creates a merge, even when there's no conflicts
git push origin master

然后创建2个新提交。其中一个是完全没用的,因为它简单地重述了其他开发人员已经做过的事情!这会减慢CI并且非常烦人。如果有冲突的提交我没关系(虽然没有真正的理由单独构建它),但我认为必须有一种绕过这些空合并的方法..文件没有&# 39;实际上除了提交的新内容之外还要改变。

任何人都知道是否有另一种合并方式不会创建合并提交?

2 个答案:

答案 0 :(得分:5)

强制快进

要避免合并提交,您需要尽可能强制执行快速转发。 git-merge和git-pull都支持--ff-only标志。手册页说:

   --ff-only
       Refuse to merge and exit with a non-zero status unless the current
       HEAD is already up-to-date or the merge can be resolved as a
       fast-forward.

此标志应该可以帮助您干净地合并提交,而不会发生可以快速解决的冲突,同时仍然允许您以通常的方式处理冲突。

答案 1 :(得分:-1)

git pull --rebase origin master