如何自动化git merge而不提示确认提交消息?

问题描述 投票:0回答:5

我正在尝试使用 git 做一些自动化脚本,简单的事情,例如更新子模块、移动到正确的标签等,但我现在发现的问题之一是 git 现在强制您确认合并消息。有什么办法可以抑制这种行为的发生吗?

git automation
5个回答
77
投票

您可以将

--no-edit
开关添加到
git-merge
,它不会要求您确认合并消息。


25
投票

为了防止 git 在 mac 上提示您提交提交消息,请将其添加到您的 .bashrc 或 .bash_profile 中(了解有关两个文件之间差异的更多信息

export GIT_MERGE_AUTOEDIT=no

然后在您的终端中输入:

source ~/.bashrc

重新加载 bash 文件并继续,不受任何干扰。


12
投票

使用此命令:

git merge other_branch --commit --no-edit

--commit
合并后立即自动提交。

--no-edit
以防止显示提交消息编辑器。


0
投票

您可以将编辑器更改为不显示,方法是将

vim
替换为
cat
true
,例如:

GIT_EDITOR=true git merge branch_name

这将自动填充合并消息。


0
投票

请注意,给出的所有答案都有效,但没有一个解决了我的具体用例。具体来说,我的用例是在修复冲突后执行

git merge --continue
并且不想编辑我的环境变量(因为有时我希望编辑器显示,有时不显示)。因此,经过一番谷歌搜索后,我发现我可以将
-c core.editor=true
传递给命令以使 git 不打开编辑器,这使得命令:

git merge -c core.editor=true --continue
© www.soinside.com 2019 - 2024. All rights reserved.