git config --global pull.ff only # Disallows non ff merges on pull. Overrides merge.ff when pulling
git config --global merge.ff false # even create extra merge commit when fast forward merge would be possible
我还发现这个设置可以避免拉取过程中的麻烦
git config --global pull.rebase true # set up pull to rebase instead of merge
4条答案
按热度按时间cigdeys31#
看来帖子里还有一个悬而未决的问题:如何在全局范围内(即针对所有分支机构)执行此操作?对于记录,我们可以使用以下方法:
...使其应用于当前仓库中的所有分支。要使其应用于 * 所有仓库 * 中的所有分支,其中有人 * 没有 * 在没有
--global
选项的情况下运行它(本地设置覆盖全局设置),请运行以下命令:从文档中:
merge.ff
默认情况下,git在合并当前提交的后代提交时,不会创建额外的合并提交,而是快进当前分支的尖端。当设置为false时,此变量告诉git在这种情况下创建额外的合并提交(相当于从命令行提供
--no-ff
选项)。当设置为only时,只允许这种快进合并(相当于从命令行给出--ff-only
选项)。li9yvcax2#
是的,有
--no-ff
。您可以为每个分支配置合并选项,例如:将以下内容添加到
$(REPO)/.git/config
文件:yiytaume3#
阅读这些答案时,我最终使用了以下两个选项
我还发现这个设置可以避免拉取过程中的麻烦
fcg9iug34#
这些答案对我不起作用,直到我不仅在全局:
在本地,我pull.ff配置是
false
(而不是only
)