回答:
次の2つのオプションがあります。
空のコミットメッセージを提供します。それが新しいコミットであり、まだメッセージを保存していない場合は、単に使用できます:q!(保存せずに終了します)。保存済みの場合(または以前のコミットを修正している場合)は、ログメッセージ全体を削除して、もう一度保存します。これはVimのggdG+ :wqで実行できます。
エディターをゼロ以外の終了コードで終了させます。Vimで使用できます:cq(エラーコードで終了します)。
作業コピーをでコミットする前の状態にいつでもリセットできることは注目に値しますgit reset HEAD^。
git reset HEAD^さらに要求された場合、シェルは^を行継続として解釈することがあります。試してみてくださいgit reset "HEAD^"、git reset HEAD^^またはgit reset HEAD~1代わりに、この答えは1:stackoverflow.com/questions/14203952/git-reset-asks-more
:q!コミットを修正するときには機能しません。コミットメッセージは更新されませんが、修正を実行します:-(:cq 修正を完全に中止します。総括する:
git commit)を作成するときに、を使用して終了し:q!ます。git commit --amend)するときは、たとえばvを押しながら矢印キーを使用して選択し、Deleteキーを押して、コミットメッセージ(#で始まっていない最初の数行のみ)を削除します。変更を適用するために終了し:wqます!使用すると:q!、変更が失われ、以前のコミットメッセージが使用されます。VIMを使用する場合、どちらの場合でも終了して:cqも問題ありません。VIMはエラーコードを表示して終了し、コミットは中止されます。
:q!vimを終了するために入る前にEscを押す必要があることを追加する価値があります。