如何退出git merge询问提交消息?


22

我正在使用git。我做了一个普通的合并,但是它一直在问:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

即使我写点东西,我也不能从这里退出。我找不到说明这一点的文档。我应该怎么做?


2
按ESC:wq这是一种vim语法;)
演示

Answers:


24

这取决于您使用的编辑器。

如果使用,则可以使用ESC:wqESCShift+ zz。这两个命令都保存文件并退出。

您也可以检查~/.gitconfig编辑器,在我的情况下(cat ~/.gitconfig):

[user]
    name = somename
    email = somemail@gmail.com
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here

0

我知道这可能要晚了,但是我已经注意到,只有当我对分支的提交比我合并的分支的更新时,才会发生。

图片有助于理解

事实证明,如果我更改了一个分支(即,向该分支添加更多文件),并尝试将另一个分支合并到该分支中,则Git将要求我MERGE_MSG为该分支编写一个。

在此图像中,它表明我加入许可文件master和一个.gitignore分支文件npm-init

由于master包含一个新文件LICENSE,并且npm-init不知道该文件,因此Git要求我写一条信息,说明为什么应该合并它。

同样,合并中的更改之前,我已合并add-eslint到中。add-dev install-deps


我知道这可能很难理解(即使一开始对我来说也是如此),但我希望图像能使事情变得清晰起来:)

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.