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+を使用できます。どちらのコマンドもファイルを保存して終了します。ESCShiftzz

私の場合は、()~/.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プロセスを一時停止し、Zaを使用してマージを中止してからバックグラウンドプロセスを終了することです(+を使用すると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このスニペットで通話内容を記録します。

関連情報