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
出力:
マージの競合を解決するには、Meld のような mergetool を使用することを強くお勧めします。 Meld は、デフォルトの diff および mergetool として既に構成されています。
それを起動するには、次を実行します。
$ git mergetool
競合を解決したら、作業ツリーとインデックスの状態をすばやく確認できます。
$ git status
出力:
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 の推奨コマンド git commit または git merge --continue コマンドを使用して競合を解決した後、マージを完了することができます。 どちらも同じ望ましい出力を提供します。