git merge를 종료하고 커밋 메시지를 요청하는 방법은 무엇입니까?

git merge를 종료하고 커밋 메시지를 요청하는 방법은 무엇입니까?

나는 자식을 사용하고 있습니다. 일반적인 병합을 수행했는데 계속해서 다음과 같은 질문이 표시됩니다.

# 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또는 ESCShift+ 를 사용할 수 있습니다 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 --abortPID가 표시됩니다).CtrlZ

답변3

이런 일이 발생하면 여기서는 질문에 대한 답변을 찾을 수 없습니다.아니요vim편집기를 사용하세요 . 내 WSL 편집기 nano에서는 화면에서 벗어날 수 있는 유일한 방법 은 MERGE_MSG다음을 사용하는 것 같습니다 . CTRL+ X.

이것이 다른 사람들에게 도움이 되기를 바랍니다.

답변4

늦었지만 이를 바탕으로 지속적인 노력을 해야 합니다.@CodeTalker의 답변:

vi또는 을 사용하면 vim의 문서에 다음과 같이 나와 있습니다 vim.:help cquit

: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이 스니펫에서 통화 내용을 기록하세요.

관련 정보