我正在尝试使用Git编写一些自动化脚本,例如更新子模块、移动到适当的标签等简单的操作,但我现在遇到的一个问题是Git现在强制用户确认合并消息。有没有办法避免这种行为发生?
我正在尝试使用Git编写一些自动化脚本,例如更新子模块、移动到适当的标签等简单的操作,但我现在遇到的一个问题是Git现在强制用户确认合并消息。有没有办法避免这种行为发生?
您可以在git-merge
命令后添加--no-edit
开关,这样它就不会要求您确认合并信息。
为了防止在 Mac 上 Git 提示你输入提交信息,将以下内容添加到你的 .bashrc 或 .bash_profile 中(了解这两个文件之间的差异)
export GIT_MERGE_AUTOEDIT=no
然后在您的终端中输入:
source ~/.bashrc
重新加载你的bash文件,并在不受任何干扰的情况下继续。~/.bashrc
、~/bash_profile
、~/.zshrc
(或者其他适用于您的终端的文件)将确保更改永久保存到新终端会话中。我要提醒的是,明确地调用此文件并非必需,如果用户在其中添加了不希望每个会话执行两次的内容,则可能会产生意外后果。我们可以直接在当前终端会话中执行export GIT_MERGE_AUTOEDIT=no
而非调用它。 - Darren Feltongit merge --continue
命令时,GIT_MERGE_AUTOEDIT
不起作用。编辑器仍然会弹出。 - igor使用此命令:
git merge other_branch --commit --no-edit
--commit
表示在合并后自动执行提交操作。
--no-edit
表示不显示提交信息编辑器。
你可以通过将 vim
替换为 cat
或 true
来更改编辑器的显示方式,例如:
GIT_EDITOR=true git merge branch_name
这将自动填充合并信息。