Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Git マージ中の「コミット メッセージを入力してください」プロンプトを解決する方法

おそらく、git 開発ハブを使用するときに発生する最も厄介なエラー メッセージの 1 つは、通常のマージを実行した後のコミット メッセージに関するものです。このマージが必要な理由を説明するコミット メッセージを入力するように指示する行が表示される場合がありますが、そこに何かを書いても終了できません。これが非常に恥ずかしい理由は、これはまったくエラー メッセージではないからです。

このプロンプトは、実際には git マージを編集する必要がある人間のために存在しており、追加するテキストは、あなたが書いたものを見ている可能性のある他の開発者への単なる通知です。標準の端末画面からエディタを使用している場合と同じ方法でエディタを終了する必要があります。

コミット メッセージを要求する git マージを終了する

通常、別のドキュメントの一部として git で通常のマージを実行すると、これが表示されます。更新されたアップストリームを独自のトピック ブランチにマージするときに、コード ブロックの後にこのプロンプトが表示されることがあります。 git のドキュメントには、実際にはプロンプトがまったくないため、このメッセージに到達したときに何をすべきかについては説明されていません。

このメッセージの両方の行は # 記号で始まり、コメントであることを意味します。 git はプロジェクトに何人の開発者が取り組んでいるのかを知らないため、アップストリームをトピック ブランチにマージした理由について他の人にメッセージを残せるようにこれが追加されています。ただし、終了するにはどのエディタを使用しているかを知っておく必要があります。

ほとんどの場合、vi または vim エディターを使用します。 Esc キーを押してから :wq と入力し、Enter キーを押して終了します。これは、他の場合に vim を終了するときと同じ方法です。これによりファイルが保存されて終了し、git から直接抜け出すことができます。

使用しているエディタの種類を知るのに役立つ可能性のある手がかりに注目してください。このスクリーンショットの例では、ファイルにまだ挿入されていない新しい行を示す余分なチルダ文字は、git プラットフォームが私たちを vim に導いたことを明らかに示しています。もう一度言いますが、使用しているエディタがわからない場合は、Esc キーを押して :wq コマンドを使用してください。現時点では vi と vim はほぼユニバーサルなので、通常はこれで解決できることがわかります。

一方、nano を使用している場合は、変更を保存するかどうかを尋ねられたら、単に Ctrl+X を押して y を入力します。 Enter キーを押すとすぐに git から抜け出し、以前の場所に戻ります。このような場合、通常、ターミナルの上部に「GNU nano」という行が表示されます。そうでない場合は、ウィンドウの下部にある多数のキーボード ショートカットを探してください。

これらの方法のどちらも機能しない場合は、Ctrl+X を押してから Ctrl+C を押して終了します。これにより、emacs エディターを使用していた場合は、git から抜け出すことができます。これは異常な状況です。ほとんどの場合、Esc に続いて :wq を押すと機能しますが、そうでない場合は Ctrl+X に続いて y を押すと機能します。 Ctrl+X の後に Ctrl+C を使用するのは、現在 emacs を使用していることがわかっている場合、またはこれら 2 つの方法が機能しない場合に限られます。 git ターミナルで JOE エディタを使用している場合は、保存しなくても Ctrl+C も機能するはずです。

終了してプロンプトに戻ったら、「cat ~/.gitconfig |」と入力します。 grep エディタ ターミナルで、どのエディタで行き詰まっていたのかを確実に確認してください。 editor =vim のような行が返されます。これは git のデフォルトのエディターの名前です。将来的には、通常の git マージ後に「このマージが必要な理由を説明するコミット メッセージを入力してください」という行が再び表示された場合、標準の方法を使用してそのエディタを終了できるようになります。

また、通常好みのテキスト エディターでファイルを編集し、エディターを好きなものに変更することもできます。 [core] という部分まで下にスクロールし、「editor =vim」という行を好きな行に変更します。たとえば、コーディングに nano エディタを使用したい場合は、「editor =nano」と読み込むとよいでしょう。

著者について

Git マージ中の「コミット メッセージを入力してください」プロンプトを解決する方法

ケビン・アロウズ

Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。


  1. Ubuntu で破損したメモリカードを回復する:ステップバイステップガイド

    メモリ カードは、モバイル デバイス、デジタル カメラ、PC 間で情報を転送するための優れた方法です。 Google Android または Apple iOS デバイスから「破損したメモリ カード - フォーマットしてください」または同様のエラーが表示された場合、カードのフォーマットを拒否した限り、データを回復できる可能性はまだあります。正しく取り出して、状態が良好であることを確認してください。フルサイズの SD、SDHC、SDXC カードはケース内で緩んでいる場合があり、そっと押し戻すことができます。ほとんどの microSD、microSDHC、microSDXC カードにはこの問題はあ

  2. Gitエラーを修正する方法「次のファイルへのローカル変更はマージによって上書きされます」

    エラーメッセージ「次のファイルへのローカル変更はマージによって上書きされます 」はGitバージョン管理メカニズムで発生します。このエラーは、リモートリポジトリにも変更があるファイルを変更した場合に発生します。 リモートリポジトリにも変更が加えられているコミットされていないファイルがない場合、このエラーメッセージは回避されます。このメッセージを経験するときは、他のチームメンバーに相談して意見を求めるのが最善です。ローカルの変更をマージする場合でも、バージョンをリポジトリに保持する場合でも、全員を参加させておくのが最善です。 リポジトリとは何ですか? Gitのプッシュアンドプルとは何ですか?