我希望git在使用--no-ff
时始终进行合并提交(git merge
),但保留--ff
的默认行为(git pull
)。这可能(配置)吗?
答案 0 :(得分:3)
可能有用的两个配置是:
merge.ff
(From git merge
man page):当设置为false
时,此变量告诉Git在这种情况下创建额外的合并提交(相当于从命令行提供--no-ff
选项)。
pull.ff
将pull.ff
设置为true
将保留默认行为,即合并作为当前提交后代的提交时Git不会创建额外的合并提交。
要进行测试:pull.ff
优先于merge.ff
吗?
git config pull.ff only
git config merge.ff false
正如Kelvin提到的answer并由git-pull.sh
确认,'only
'是要使用的值,而不是'true
'。< / p>
答案 1 :(得分:3)
这是我的暂定工作流程(请注意,pull.ff
配置选项仅适用于git 2.x。)。
使用此配置:
merge.ff
设为false
。这会将merge
行为默认为--no-ff
。pull.ff
设为only
。这会将pull
行为默认为--ff-only
。这意味着如果您尝试pull
您的本地人落后的分支机构。在遥控器之前,pull
将失败。在这种情况下,请执行rebase
,以便您不再支持。
注意:
我尝试将pull.ff
设置为true
,但是git似乎将其视为完全取消设置。请注意,手册页中没有提到true
是公认的值。