[英]Git: Prevent fast-forward merges only when merging external branches into master
為了便於查看功能分支何時合並為主分支,可以在將其功能分支合並到主分支時使用Git的--no-ff
選項。
無需鍵入--no-ff
即可完成此操作的一種方法是完全禁用快速合並到master:
git config branch.master.mergeoptions --no-ff
但是,這很笨拙,因為當簡單地將master中的上游更改合並到master的本地副本時,它也會阻止快進合並(為正常的git pull
創建合並提交)。
有沒有辦法配置Git以防止在將功能分支合並到主服務器時快速合並到主服務器中 ,以便在從主服務器執行git pull
時允許快進 ,但是在合並功能分支時始終會創建合並提交? 或明確使用--no-ff
實現此目的的唯一方法?
注意:不存在預合並掛鈎。
它於2008年推出,並受到批評 (因為控件最好在服務器上實現(使用更新掛鈎)。
它正在重新引入( 2012年9月 )
並且在git merge
完成的自動提交時不會運行pre / post-commit掛鈎 。
所以:
git-merge
包裝器,它將在本地repo級別執行該控制。 話雖如此,正如我在“ 快速前進時使用拉動和非拉動時拉動 ”中所提到的, 不使用--no-ff
有其優點,因為它不會破壞git bisect
和git blame
。
因此,某個功能的開發人員可能希望重新組織他/她的功能提交(如果有太多這些功能,則將它們壓縮一點),然后在主分支中快進它們(而不是創建一個巨大的提交)。
有關更多信息,請參閱“ 了解Git工作流程 ”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.