Git合并不使用默认合并消息,使用默认消息打开编辑器


72

如何强制git merge使用默认的合并消息,而不是用所述消息加载编辑器?

我没有在中列出任何编辑器git config -l,因此不知道为什么要打开一个编辑器。


1
不确定,但是不合并-作为提交-是否具有选项--no-edit
约阿希姆·伊萨克森

Answers:


89

经过一番挖掘发现了答案

编辑:按照马克的建议,这是最好的方法:

git config --global core.mergeoptions --no-edit

17
~/.gitconfig建议git config不要使用直接进行编辑,而不是直接进行编辑,例如git config --global core.mergeoptions --no-edit,这样就没有机会创建格式错误的~/.gitconfig
Mark Longair

3
这似乎适用于git merge,但是我仍然需要打开针对的编辑器git pull。有没有办法为此禁用提交消息呢?
LandonSchropp

3
我找不到任何提及core.mergeoptions,尽管它确实适用于branch.*.mergeoptions。有谁知道受支持的版本吗?
cmbuckley

4
这对我不起作用。合并和拉动仍然会在非ff合并中调出编辑器。使用git 1.7.10.4
user2471887'4

7
翻阅git源和发行注释表明,现在没有了,从来没有core.mergeoptions。但是,GIT_MERGE_AUTOEDIT=nogit merge更改其本身以显示编辑器时,在git 1.7.10中添加了一个。也有可用的选项branch.*.mergeoptions,如@cmbuckley所指出的。
torek '16

67

采用

export GIT_MERGE_AUTOEDIT=no

要么

git merge --no-edit

这几乎是我想要的,但是它迫使您每次键入--no-edit。我发现的解决方案更改了git merge
kjb

如此处建议的那样,将其直接传递给merge命令在调用git merge的脚本中特别有用。您几乎总是希望脚本不提示用户。但是,很高兴知道如何将自定义消息传递给git merge。也许git merge -m "message"有效,但我还没有尝试过。
埃内斯托

7
对我来说,export GIT_MERGE_AUTOEDIT=no当接受的答案(git config --global core.mergeoptions --no-edit)不起作用时(合并)起作用。
安德鲁·本内特

11

这是Git 1.7.10中引入的Git的新功能,要使用旧功能(不提供合并消息)将这两行放在您的.bash_profile.bashrc

GIT_MERGE_AUTOEDIT=no
export GIT_MERGE_AUTOEDIT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.