GNU/Linux >> Linux の 問題 >  >> Ubuntu

Gitマージを修正する方法「このマージが必要な理由を説明するためにコミットメッセージを入力してください」エラー{Update2022}

DevOpsエンジニアであるか、gitリポジトリで作業している場合は、「このマージが必要な理由を説明するコミットメッセージを入力してください "は、作業中に発生する一般的なエラーです。この投稿では、このエラーが発生する理由、このエラーを修正する方法、およびその周辺の提案について説明します。

gitが「このマージが必要な理由を説明するためにコミットメッセージを入力してください」と尋ねたのはなぜですか?

いくつかの特定の理由があります。なぜgitpull マージメッセージを書くように求められます。 Linus Torvaldsからの引用から始めたいと思います -

以下に理由が記載されていますGitコミットメッセージが発生する可能性があります 警告-

  • 変更をgitからローカル開発にプルする場合
  • 最近gitクライアントを更新しました
  • git設定が最近変更されました
  • これまでリモートの前にあったローカルブランチはありませんでした

修正方法「このマージが必要な理由を説明するコミットメッセージを入力してください」という警告。

何を達成しようとしているかに応じて、これら2つの解決策のいずれかに従ってください。

ソリューション-1 マージを実行してからデフォルトのエディタを終了する場合

「このマージが必要な理由を説明するためにコミットメッセージを入力してください」というメッセージが表示され、マージしたい場合は、エディタに基づいて以下の解決策に従って修正してください。

Linuxのviまたはvimエディターユーザー向け-

デフォルトのエディタはviです またはvim Linuxでは、変更していない場合は git config 指図。次の簡単な手順に従って、エディタに基づいてマージします-

  • i」を押します キーボードで「マージ」と入力します 「コメントまたはメッセージ
  • Esc」を押します キーボードの「ボタン」
  • :wq と入力して、保存して終了します ViまたはVimエディターから

または、

マージメッセージを送信したくない場合 、次に「 Esc」を押すだけです。 キーボードで「」を押してから、シフト+ ZZ 保存してエディターをすばやく終了します。

ma​​cOSのnanoまたはPicoユーザー向け-

nanoを使用している場合 またはpico macOSのエディタ または、 WSL(Windows Subsystem for Linux) 次に、次のコマンドを実行します-

  • CTRL+Xを押します
  • 次にCTRL+C
  • "Y"を押します ファイルを保存します。

デフォルトのgitエディターを変更する場合 例えば vi/vimからnano を実行します 次のコマンド-

git config --global core.editor "nano"

ソリューション-2 マージしたくない場合は、マージせずに終了します

したがって、次のgitマージエラーが発生した場合 何度も何度も-

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

そしてあなたはマージしたくない きれいになりたいのなら、プロセスは少しトリッキーです。提供された手順に従ってください-

vi/vimまたはnanoエディターユーザー向け

  1. 最初にctrlを押して、vi/vimまたはnanoエディターを一時停止します + z キーボード上
  2. ピッドをメモします (プロセスID)またはプロセス名 。例えばnanoまたはvi。
  3. git merge --abortを使用してマージを中止します コマンド
  4. pkill -9でバックグラウンドプロセスを強制終了します "プロセス名 "。例: pkill -9 nano またはpkill -9 vi 。プロセスが正常に強制終了されたというメッセージが表示されます。

ESCを押してから:q を押しても、メモしてください または:q! 終了するにはviまたはvim 保存せずにエディタ。それでも、マージになります 。同じことがnanoのような他の編集者にも当てはまります 。 ctrl + xを押すと 終了しても、ブランチはマージされます 。したがって、常に一時停止して中止することを確認してください マージを回避するプロセス 上記の手順で説明したように。

提案-Gitマージとリベース Gitでクリーンな履歴を維持する

「このマージが必要な理由を説明するためにコミットメッセージを入力してください」エラーを取り除く方法の解決策を説明しました。ただし、 Git Mergeを使用できる場合はおそらく いつgitpull中にリベースを使用するか 。

Gitを操作するときは、これらの黄金のルールに従ってください-

ルール1-変更を元の/開発からローカルの開発にプルするときは、常にリベースします

git pull を実行するだけでなく、元の場所から変更をプルするときは、常にリベースオプションを使用してください コマンドのみ。

git pull --rebase

なんで?オリジンからプルしていて、ローカル開発に変更を加えていない場合は、 git pull およびgitpull --rebase 同じだ。

ただし、いくつかの変更を加えた場合 まだプッシュされていないあなたの地元の開発に。また、プルしたい 元のから欠落している変更 あなたがプッシュすることができる前にあなたの地元の開発に。通常のgitpull リベースなし オプションを選択すると、マージが発生する場合があります 問題。

ルール2-機能ブランチのマージを終了するときにマージを変更して開発に戻す

変更を加え、変更をマージして開発する場合は、次のコマンドを使用します

git merge

Ubuntu
  1. Ubuntuアップデートエラーを修正する方法:MergeListの問題

  2. Arista Transcoderのエラーメッセージ、Ffdeinterlaceプラグインをインストールするにはどうすればよいですか?

  3. Ubuntu 15.10のライブUSBでの「ブートエラー」–修正方法

  1. SSH接続拒否エラーを修正する方法

  2. ロケールエラーを修正する方法は?

  3. 「共有ライブラリのロード中のエラー:libgtk-x11-2.0.so.0」を修正する方法

  1. Gitでのマージの競合を解決する方法

  2. Gitはどのように機能しますか?

  3. 403ForbiddenError-それは何ですかそしてそれを修正する方法