我正在使用 git。我做了正常的合并,但它一直问这个:
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
而且就算我写了点什么,我也无法从这里退出。我找不到解释这一点的文档。我应该怎么做?
答案1
这取决于您使用的编辑器。
如果维姆您可以使用ESCand:wq或ESCand Shift+ zz。两个命令都保存文件并退出。
您还可以检查~/.gitconfig
编辑器,在我的例子中(cat ~/.gitconfig
):
[user]
name = somename
email = [email protected]
[core]
editor = vim
excludesfile = /home/mypath/.gitignore_global
[color]
ui = auto
# other settings here
答案2
此处标记为正确的答案对我不起作用,因为在使用wq
或退出编辑器后:q!
,文件将被保存并发生合并。
我现在发现的替代方法是使用Ctrl+暂停 vim 进程Z,然后使用 a 中止合并,然后终止后台进程(当你执行+git merge --abort
时,你会看到 PID )CtrlZ
答案3
如果您遇到这种情况,我在这里找不到问题的答案不是使用vim
编辑器。我的 WSL 编辑器似乎是nano
,我离开屏幕的唯一方法MERGE_MSG
是使用:CTRL+ X。
希望这对其他人有帮助。
答案4
也迟到了,但要在此基础上再接再厉@CodeTalker 的回答:
如果您使用vi
或vim
,:help cquit
vim 中的文档说明
:cq[uit][!] {N} Quit Vim with error code {N}. {N} defaults to one.
Useful when Vim is called from another program:
e.g., a compiler will not compile the same file again,
`git commit` will abort the committing process, `fc`
(built-in for shells like bash and zsh) will not
execute the command, etc.
{N} can also be zero, in which case Vim exits
normally.
WARNING: All changes in files are lost! Also when the
[!] is not used. It works like ":qall!" |:qall|,
except that Vim returns a non-zero exit code.
git commit
请注意该片段中的调用