我希望 git--no-ff
在我使用时始终进行合并提交 () git merge
,但保留默认行为 ( --ff
) 为git pull
. 这可能(使用配置)吗?
问问题
2538 次
2 回答
3
可能有帮助的两个配置是:
merge.ff
(来自git merge
手册页):当设置为 时false
,这个变量告诉 Git 在这种情况下创建一个额外的合并提交(相当于--no-ff
从命令行给出选项)。
pull.ff
(来自git config
手册页)
设置pull.ff
为true
将保留默认行为,即 Git 在合并作为当前提交的后代的提交时不会创建额外的合并提交。
待测试:是否pull.ff
优先于merge.ff
?
git config pull.ff only
git config merge.ff false
正如Kelvin的回答所提到并由确认的那样git-pull.sh
,' only
' 是要使用的值,而不是 ' true
'。
于 2015-02-20T08:59:35.727 回答
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
是一个公认的值。
于 2015-04-02T18:01:16.330 回答