在我们的项目中,我们希望在
目前,我们已经将
即,如果合并之前的情况如下:
git log --graph
中看到合并的功能分支,但仍然保持线性历史记录,以便主分支在功能分支的持续时间内没有提交。这意味着,在将功能分支合并到主分支之前,请确保对主分支进行了变基。目前,我们已经将
merge = merge --no-ff
设置为别名,并尝试记住在合并之前始终执行git rebase
,但有时我们会忘记。即,如果合并之前的情况如下:
A--B--C--D
\
E--F
我们想要强制执行这个结果(0)
A--B--C--D------m--
\ /
E--F
并且阻止这个(1)
A--B--C--D--m--
\ /
E----F
或者这个(2)
A--B--C--D--E--F--
很遗憾,我无法看到如何通过git别名来实现这一点。
git merge --no-ff
创建合并提交,但允许出现(1)git merge --ff-only
确保主分支上没有提交,但会创建出现(2)git merge --ff
愉快地创建(1)或(2),但不会创建(0)git merge --ff-only --no-ff
的行为类似于--no-ff
我们都需要独立于他人向主分支提交代码,因此基于限制对主分支的访问或代码审查的解决方案并不真正有帮助。
git merge
中没有内置功能可以强制执行快进情况,但是仍然会进行提交。对于Git开发人员来说,这样的工作流程不够明智,不能被默认支持。 - j6tmain
分支,然后再推送到远程仓库? - TTTfile:///
) 存储库。 - Edheldil