我正在使用与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;实际上除了提交的新内容之外还要改变。
任何人都知道是否有另一种合并方式不会创建合并提交?
答案 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