特に更新されたアップストリームをトピックブランチにマージする場合は特に、このマージが必要な理由を説明するコミットメッセージを入力してください


515

私はGitを使用しています。私はリモートリポジトリからプルし、エラーメッセージが表示されました。


特に更新されたアップストリームをトピックブランチにマージする場合は特に、このマージが必要な理由を説明するコミットメッセージを入力してください。

メッセージを入力して押しますEnterが、何も起こりません。

メッセージの入力が完了したことをGit /ターミナルに伝えるにはどうすればよいですか?

OS Xでターミナルを使用しています。


3
GITは構成済みのテンプレートを開くように構成されており、そのテンプレートはデフォルトのエディター(vi / vim)から開かれているようです。
俊也2013

このマージを中止して、git pull --rebaseを使用してみてください。
Ankush Jain

3
私を
形作る

回答:


1190

gitはデフォルトのエディターを使用するため、これはGitエラーメッセージではなく、エディターです。

これを解決するには:

  1. 「i」を押す(iは挿入)
  2. マージメッセージを書いてください
  3. 「esc」(エスケープ)を押します
  4. ":wq"(書き込みと終了)
  5. 次にEnterキーを押します

7
わかりましたが、これは彼の編集者がviまたはであることを前提としていvimます。
ガブリエレペトロネラ2013

106
それは非常に複雑です
Connor Leech 14

92
私が嫌いな主Vi
ソビアホリック14

153
誰かを助ける場合、覚えておくと、「i」は「挿入」、「esc」は挿入の出口、「:wq」は「書き込み」と「終了」だけです。
Josh Beam、

83
↑↑↓↓←→←→BA
Wesley Smith

39

エラーではありません。これは、このマージをマークするメッセージを入力する必要があることを意味します。私のOSはUbuntu 14.04です。同じOSを使用している場合は、次のようにするだけです。

  1. メッセージを入力してください

  2. CtrlCO

  3. ファイル名(「Merge_feature01」など)を入力して、 Enter

  4. CtrlX 出る

ここで、.gitに移動してファイル「Merge_feature01」を見つけた場合、それは実際にはマージログです。


6
誰かがこれをどうやって知っているのだろう?これがどのように機能するかは奇妙です。これに答えてくれてありがとう。
Adrian Carr

@ScottyBladesなぜ地球上でそれをすべきなのですか?質問のタグはosxです。この回答は、UbuntuがGitのまったく異なるセットアップをどのようにセットアップするnanoか(またはを使用pico)に関するもので、OS Xセットアップには適用されません。それは決して一般化できず、それがどのように機能するかについての洞察も提供しないため、@ AdrianCarrが残したコメントです。今ははるかに良い答えがあります。
オリゴフレン2017年

27

tl; drエディターをSublimeやAtomなどのより良いものに設定します。

ここで、niceは、あなたが好きな、またはよりユーザーフレンドリーなエディターの意味で使用されます。

根本的な問題は、Gitがデフォルトでほとんどの人に使用するには直感的でないエディタ、Vimを使用していることです。誤解しないでください。Vimが大好きです。Vim を学ぶために時間を空けて(1か月など) Vimが存在する中で最も優れた編集者であると考える人がいる理由を理解することもできますが、より迅速な方法があります。この問題を修正する方法:-)

修正は、受け入れられた回答のように、不可解なコマンドを記憶することではなく、Gitを設定して、好きな、理解できるエディターを使用することです!これらのオプションのいずれかを構成するのと同じくらい簡単です

  1. git構成設定core.editor(プロジェクトごと、またはグローバル)
  2. VISUALまたはEDITOR環境変数(これは他のプログラムのために動作します)

いくつかの人気のあるエディターの最初のオプションについて説明しますが、GitHubには、多くのエディターにもこれに関する優れたガイドがあります。

Atomを使用するには

ストレートそのドキュメントから、ターミナルで次のように入力します。 git config --global core.editor "atom --wait"

通常、Gitはエディターコマンドが完了するまで待機しますが、Atomはバックグラウンドプロセスにすぐに分岐するため、--waitオプションを指定しない限り、これは機能しません。

Sublime Textを使用するには

Atomの場合と同じ理由で、バックグラウンドにフォークしないことをプロセスに通知する特別なフラグが必要です。

git config --global core.editor "subl -n -w"


Vimは1か月はかかりません。2日かかりますが、最初は時々必要になる便利なチートシートを手元に置いておけば、決して忘れることはありません。
user264431

22

ただ、

CTRL + X

CTRL + C

ファイルを保存するように求められます。を押すYと完了です。


これは、デフォルトのエディターが「pico」または「nano」の場合です。デフォルトのエディターがvimの場合は、上記のコメントを使用する必要があります。
JacKeown

7

ここでは、なぜこのマージを行ったのか、将来の参照のためにマージに接続するメッセージを求めています。

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter

6

代わりに、git CtrlZでコミットを再試行することもできますが、今回は「-m」の後にメッセージを引用符で囲んで追加すると、そのページでプロンプトが表示されずにコミットされます。


3
笑これは間違いなくOPの問題を解決します。 git commit -m 'I did blah'
James M. Lay、2018

Linuxターミナルにgitバージョン1.7.11.4があり、git commit -m "message"またはgit commit --message "message"を指定しているにもかかわらず、メッセージを要求してエディターが時々ポップアップします。「-m」スイッチが無視される理由を誰かが知っていますか?
pglpm

4

ローカルリポジトリのコミット数が少ないため、gitはリモートをローカルリポジトリにマージしようとします。これはマージによって処理できますが、あなたの場合、おそらくあなたはリベースを探しています、すなわちあなたのコミットをトップに追加します。あなたはこれを行うことができます

git rebase または git pull --rebase

ここにgit pull&の違いを説明する良い記事がありgit pull --rebaseます。

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


0

マージでAndroid Studioターミナルにメッセージを追加する方法。これはMacユーザー向けです。

  • ステップ1-「i」を押す
  • ステップ2-「#」の後にメッセージを入力します
  • ステップ3-「esc」を押す
  • ステップ4-一番下に「:wq」と書き込みます
  • ステップ5-「Enter」を押す

マージはすべて完了しました。その後、ローカルにプルした後も作業を続けるか、新しいブランチを作成できます。


0

これはGitエラーメッセージではなく、gitがデフォルトのエディターを使用するエディターです。

これを解決するには:

  1. 「i」を押す
  2. マージメッセージを書いてください
  3. 「esc」を押す
  4. 「:wq」と書く
  5. Enterキーを押します

説明

これを覚えているのは、「i」は「挿入」、「esc」は挿入の出口、「:wq」は単に「書き込み」と「終了」のことです。


0

これはエラーではありません。このマージのために大衆を追加する必要があります

これを解決するには:

  1. 「i」を押してマッサージを挿入します
  2. あなたのマッサージを書きなさい
  3. 「esc」を押す
  4. ":wq"と書きます(マッサージを保存して終了するために書き込みと終了)
  5. 「Enter」を押す

-1

私はgitを初めて使用したため、エラーが見つかりました。正しい構文を入力したかどうかを確認する必要があります

間違えて書いた git commit

同じエラーが発生しました

使用する git commit -m 'some comment'

そしてあなたはページを見ていないでしょう

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.