为了方便查看功能分支何时合并到 master,可以使用 Git 的--no-ff
将其功能分支合并到主分支时的选项。
无需键入即可完成此操作的一种方法--no-ff
是完全禁用快进合并到 master 中:
git config branch.master.mergeoptions --no-ff
然而,这很笨拙,因为当简单地将 master 中的上游更改合并到 master 的本地副本时,它也会阻止快进合并(合并提交是为正常情况创建的)git pull
s.)
有没有办法配置 Git 以防止快进合并到 master 中仅当将功能分支合并到主分支时,以便在执行时允许快进git pull
来自 master,但合并提交时总是创建合并功能分支?或者明确使用--no-ff
实现这一目标的唯一方法是什么?
注意:预合并挂钩不存在。
它于 2008 年推出,并且当时批评(因为控制
最好在服务器上实现(使用更新挂钩)。
它正在被重新引入(2012年9月)
And a 提交前/提交后挂钩不会在由 a 完成的自动提交上运行git merge.
So:
- 要么你在开发人员推送的 git 服务器上放置一个更新钩子(但那时可能已经太晚了,他们意识到他们快进了一个功能分支)
- 或者您编写(并分发、维护...)
git-merge
包装器将在本地存储库级别执行该控制。
话虽这么说,正如我在“使用拉动时快进,拉动时不关闭", not using --no-ff
有其优点,因为它不会损坏git bisect
and git blame
.
因此,某个功能的开发人员可能希望在之前重新组织他/她的功能提交(如果功能太多,则稍微压缩一下)快进它们位于 master 分支中(而不是创建一个巨大的提交)。
See "了解 Git 工作流程”了解更多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)