我想将非快进合并设置为已在使用的存储库的默认值。这意味着添加
[merge]
ff = false
到存储库的 .git/config 文件。因为这是元数据,所以我不能指望它在我像往常一样推送存储库时更新。
所以我一直在克隆裸存储库,进行更改,并尝试将结果推送回服务器。除了我无法对"git push"进行任何论点组合,实际上可以做我想做的事。
更新:看起来我想描述的是不可能的(感谢 #git 上的耐心人士);我只需要鼓励我的开发人员这样做。
ssh 介绍远程服务器并在裸 git 中做任何你喜欢的事情(并小心!
但是,是的,你应该使用钩子
也许您可以使用共享/跟踪文件的"包含":
git clone ...
git config include.path '../.gitconfig'
$ cat .gitconfig
[merge]
ff = false
[local]
policy = true
$ git config -l | tail -3
include.path=../.gitconfig
merge.ff=false
local.policy=true
也许有一些钩子来强制执行策略(检查本地策略在签出后和预提交)。
我只是编造的,所以把它当作一个想法,而不是建议。这可能会在我不熟悉的情况下中断...
祝你好运