git 默认与 --no-commit 合并
git merge with --no-commit as default
我正在尝试将 git merge --no-ff --no-commit
设置为合并的默认行为。
现在我已经阅读了以下问题:
How do I make git merge's default be --no-ff --no-commit?
Git: Default "no commit" merge behaviour for all branches?
根据这些答案,我在全局配置中添加了以下内容:
[merge]
tool = winmerge
ff = false
commit = false
添加新配置后 --no-ff 工作正常,但它仍然自动提交。然后我搜索了 tried merge-documentation 页面:
https://git-scm.com/docs/merge-config/2.18.0
有 merge.ff 个条目但没有 merge.commit。我目前正在使用 git 版本 2.29.2.windows.2.
我在本地配置合并选项中添加了 --no-commit 作为解决方法:
[branch "master"]
mergeoptions = --no-commit
它现在可以工作,但我希望我的电脑上的所有项目和分支都默认该行为。
所以我的问题如下:
- merge.commit配置真的存在吗?如果是版本问题,哪个版本允许?
- 如果 merge.commit 不可用,替代方案是什么?
没有 merge.commit
选项:请参阅 the source code,您可以在其中查看处理了哪些选项,并观察是否缺少 merge.commit
选项。 2014 年也没有这样的选项(如果你愿意,可以克隆并检查 Git 源来验证这一点)。
merge.ff
选项从那时起就存在了,但据我所知,merge.commit
从未存在过。当然,您可以 运行 一个不同于 git merge
的命令来开始合并,通过这样做,您可以使该命令提供 --no-commit
作为显式参数。但是请注意,您不能为内置函数 Git 添加别名,因此无法创建一个 Git 别名来插入 --no-commit
运行git merge
。 运行 git mymerge
并将其设为 Git 别名,或 运行 mymerge
并将其设为 shell 别名,但不要 运行 git merge
.
(您的另一个选择当然是为每个分支名称设置 branch.<em>name</em>.mergeoptions
。)
我正在尝试将 git merge --no-ff --no-commit
设置为合并的默认行为。
现在我已经阅读了以下问题:
How do I make git merge's default be --no-ff --no-commit?
Git: Default "no commit" merge behaviour for all branches?
根据这些答案,我在全局配置中添加了以下内容:
[merge]
tool = winmerge
ff = false
commit = false
添加新配置后 --no-ff 工作正常,但它仍然自动提交。然后我搜索了 tried merge-documentation 页面:
https://git-scm.com/docs/merge-config/2.18.0
有 merge.ff 个条目但没有 merge.commit。我目前正在使用 git 版本 2.29.2.windows.2.
我在本地配置合并选项中添加了 --no-commit 作为解决方法:
[branch "master"]
mergeoptions = --no-commit
它现在可以工作,但我希望我的电脑上的所有项目和分支都默认该行为。
所以我的问题如下:
- merge.commit配置真的存在吗?如果是版本问题,哪个版本允许?
- 如果 merge.commit 不可用,替代方案是什么?
没有 merge.commit
选项:请参阅 the source code,您可以在其中查看处理了哪些选项,并观察是否缺少 merge.commit
选项。 2014 年也没有这样的选项(如果你愿意,可以克隆并检查 Git 源来验证这一点)。
merge.ff
选项从那时起就存在了,但据我所知,merge.commit
从未存在过。当然,您可以 运行 一个不同于 git merge
的命令来开始合并,通过这样做,您可以使该命令提供 --no-commit
作为显式参数。但是请注意,您不能为内置函数 Git 添加别名,因此无法创建一个 Git 别名来插入 --no-commit
运行git merge
。 运行 git mymerge
并将其设为 Git 别名,或 运行 mymerge
并将其设为 shell 别名,但不要 运行 git merge
.
(您的另一个选择当然是为每个分支名称设置 branch.<em>name</em>.mergeoptions
。)