HOWTO · Git

Git で競合を解決した後にマージを完了する

Git でマージの競合を解決した後、マージを完了することができます。

この記事では、Git でマージの競合を解決した後にマージを完了するプロセスの概要を説明します。 マージ手順を実行し、競合を解決してマージを完了します。

Git で競合を解決した後にマージを完了する

コンテキストを簡単にするために、リポジトリ内の 2つのブランチをマージすると競合が発生するシナリオをシミュレートします。 これが典型的なワークフローです。

main ブランチに切り替えて、README.md ファイルを編集します。

$ git checkout main

編集を行った後、ファイルをコミットし、Dev2.1 ブランチに切り替えて、README.md ファイルに変更を加えます。

$ git checkout Dev2.1

Git の同じ行を編集して、マージの競合を作成します。 コミット後、git merge コマンドを実行できます。

$ git merge main

出力:

git マージ メイン

マージの競合を解決するには、Meld のような mergetool を使用することを強くお勧めします。 Meld は、デフォルトの diff および mergetool として既に構成されています。

それを起動するには、次を実行します。

$ git mergetool

競合を解決したら、作業ツリーとインデックスの状態をすばやく確認できます。

$ git status

出力:

git ステータス

Git で提案されているように、git commit コマンドを実行してマージ プロセスを終了できます。 この場合、以下を実行します。

$ git commit -m "Merge Dev2.1 to main"

出力:

[Dev2.1 cb9b842] Merge Dev2.1 to main

マージを完了する別の方法は、git merge --continue コマンドを使用することです。 このコマンドは、マージを完了するためにコミットに名前を付けることになっているテキスト エディターを表示します。

$ git merge --continue

コミット メッセージを編集したくない場合は、次を実行できます。

$ git merge --continue --no-edit

出力:

git マージ –continue –no-edit

簡単に言えば、Git の推奨コマンド git commit または git merge --continue コマンドを使用して競合を解決した後、マージを完了することができます。 どちらも同じ望ましい出力を提供します。