97

私はMac(コマンドライン)でgithubを学習している最中であり、学習するたびにこれをgit pull origin master取得します

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 293C

ターミナルがロックされているようで、すぐに何も入力できません。最終的にテキストを入力できるようになると、gitコマンドを認識しないように見えます。

これはgitのバグですか、それとも何かが足りませんか?

4

8 に答える 8

230

あなたはテキストエディタにいます、vim!これはモーダルテキストエディタであるため、次のことを行う必要があります。

  1. を押して挿入モードiに入ります。
  2. これで、通常の(非モーダル)テキストエディタを使用しているかのように、メッセージを入力できます。
  3. を押してコマンドモードescに戻ります。
  4. 次に、入力:wしてenterから保存します。
  5. 最後に:q終了enterします。
于 2012-12-26T20:57:02.937 に答える
19

それを簡単に。

タイプ:wqenter

于 2016-01-20T08:47:20.113 に答える
2

あなたの説明によれば、エディターはvimのように見えます。このコンソールは、実行したいコミットに対してメッセージを書き込むように指示しているだけであり、それは必須です。

  • 入力するだけi-- INTER --モードに入り、コメントを書くことができます。

  • 書き込みが終わったらesc、キーボードのキーを押すとコマンドモードになります。(コンソールの下部を参照してください

  • 次に、書き込みを行ってからキー:wを押して変更を保存しますenter

<code>:w</code>コマンドの記述

  • 書き込み:qに続いてenterキーを押すと、今すぐ終了できます

<code>:q</code>コマンドの記述

  • やあ!最後に、メインコンソールに戻ります。
于 2017-11-12T19:53:24.877 に答える
2

より単純なのは、最初 ESC に、次に: x(小文字)です。

于 2018-08-16T12:53:07.017 に答える
1

このコマンドを実行します

git config --global core.editor "gedit"

このファイルにメッセージを追加して保存します。今すぐプルに戻ります。

于 2017-06-14T10:44:23.573 に答える
0

次の手順を実行してこの問題を修正しました

  1. #MERGE_MSG#を削除します

    rm .git/\#MERGE_MSG#

  2. MERGE_HEADを削除します

    rm .git/MERGE_HEAD

さらに、gitのエディターをvimに精通しているエディターに明示的に設定します( nanoを設定できます)

`git config --global core.editor "vim"`
于 2017-04-13T10:24:19.363 に答える
0

できるよ git checkout --merge yourbranch

現在のブランチ、作業ツリーの内容、および新しいブランチの間の3方向のマージが実行され、新しいブランチに移動します。

于 2018-01-18T13:57:11.760 に答える
0

通常、スペルを間違えると問題が発生します。
あなたが興味を持っているのはこのコマンドである可能性が高いです:

git commit -m "message"

問題があった場合は、次のように表示される場合があります

Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

と使用:

git pull

これは次のことにつながるはずです:

Already up-to-date.

次に、以下を確認することをお勧めします。

git status

もう一度押してみてください:

git push
于 2018-04-28T10:18:32.617 に答える