gitmerge-with-no-commit作为默认值



我正在尝试将git merge --no-ff --no-commit设置为合并的默认行为。

现在我已经阅读了以下问题:

如何使gitmerge';s的默认值是--no-ff--no-commit?

Git:默认;不提交";所有分支的合并行为?

根据这些答案,我在全局配置中添加了以下内容:

[merge]
tool = winmerge
ff = false
commit = false

添加新配置后,没有ff可以正常工作,但它仍然会自动提交。然后我搜索尝试合并文档页面:

https://git-scm.com/docs/merge-config/2.18.0

有merge.ff条目,但没有merge.commit。我目前使用的是git版本2.29.2.windows.2。

我添加了一个解决方法——不提交本地配置合并:

[branch "master"]
mergeoptions = --no-commit

它目前有效,但我希望我的电脑上的所有项目和分支都默认这种行为

所以我的问题如下:

  1. merge.commit配置真的存在吗?如果是版本问题,哪个版本会允许这样做
  2. 如果merge.commit不可用,还有什么选择

没有merge.commit选项:请参阅源代码,在那里您可以看到处理了哪些选项,并观察到缺少merge.commit选项。2014年也没有这样的选项(如果你愿意,可以克隆并检查Git源代码来验证这一点(。

从那时起,merge.ff选项就一直存在,但据我所知,merge.commit从未存在过。当然,您可以运行git merge以外的命令来开始合并,通过这样做,您可以使该命令提供--no-commit作为显式参数。但是,请注意,您不能对内置的Git进行别名,因此无法在运行git merge时创建插入--no-commitGit别名。运行git mymerge并将其设为Git别名,或者运行mymerge并将其设置为shell别名,但不要运行git merge

(当然,您的另一个选择是为每个分支名称设置branch.name.mergeoptions。(

最新更新