Git マージの「競合」を解決するには?

Git Majino Jing He Wo Jie Juesuruniha



Git ローカル リポジトリの複数のブランチを操作する場合、マージは重要な部分です。これは、ユーザーがコラボレーションのためにすべての変更をリモート サーバーにプッシュする必要があるため、開発者が個々のブランチで同じプロジェクトの異なるモジュールで作業する場合に必要です。マージの実行中に、ユーザーはエロスや衝突に遭遇することがよくあります。たとえば、同じ名前の 2 つのファイルが異なるブランチに存在するとします。ただし、両方のファイルの内容が異なるため、マージする必要があります。このシナリオでは、競合が発生します。

この記事では、Git マージ競合を解決する方法について説明します。

Git マージで「CONFLICT」が発生する場合?

Git の競合は、同じファイルが異なる内容を持つ異なるブランチに存在する場合に発生します。さらに、指定された 1 つのファイルが一方のブランチから削除され、もう一方のブランチで編集された場合にも発生する可能性があります。







マージ競合がいつ発生するかを理解するには、以下の手順に従ってください。



  • 指定されたリポジトリに移動します。
  • ファイルを生成して更新します。
  • ステージング領域でファイルを追跡し、変更をコミットします。
  • すべてのブランチをリストし、別のブランチに切り替えます。
  • 「」を実行してブランチをマージします。 git merge <ブランチ名> ' 指図。

ステップ 1: 指定されたリポジトリをリダイレクトする

Git Bash ターミナルを開き、「 CD 」コマンドを実行し、指定されたリポジトリに移動します。



CD 「C:\Users\user\Git\projectrepo」

ステップ 2: ファイルを生成する

次に、「」を使用して新しいファイルを作成します。 触る ' 指図:





触る ファイル1.txt

ステップ 3: エディターでファイルを開く

「」を活用してください。 始める 」コマンドにファイル名を指定して、デフォルトのエディターでファイルを起動します。



file1.txtを開始します

結果の出力は、エディターが開かれたことを示します。コンテンツを追加し、保存後にファイルを閉じます。

ステップ 4: ステージング領域にファイルを追加する

次に、「」を使用して、変更したファイルをステージング領域に追加します。 git add さらに処理するためのコマンド:

git add ファイル1.txt

ステップ 5: 変更をコミットする

「」を実行してすべての変更をコミットします。 gitコミット ” コマンドを使用してメッセージを指定します。 -m ' オプション:

gitコミット -m 「ファイルが更新され追加されました」

ステップ 6: ブランチをリストする

ここで、「」を実行してすべてのブランチをリストします。 gitブランチ ' 指図:

gitブランチ

提供された画像は、すべてのブランチがコンソールに表示されていることを示しています。

ステップ 7: ブランチの切り替え

あるブランチから別のブランチに切り替えるには、「 git チェックアウト 」コマンドを実行し、移動先のブランチ名を追加します。

git チェックアウト 特徴2

その結果、「」からの切り替えに成功しました。 アルファ ”へ” 特徴2 ' ブランチ:

ステップ 8: ファイルを作成する

この手順では、「」と同じファイルを生成します。 アルファ ” 同じ拡張子のブランチ:

触る ファイル1.txt

ステップ 9: ファイルを開く

提供されたコマンドを使用して、デフォルトのエディターでファイルを開き、コンテンツを追加します。

file1.txtを開始します

ステップ 10: ステージング領域でファイルを追跡する

「」を実行します。 git add 」コマンドを使用して、ファイルを作業領域からステージング領域にプッシュします。

git add ファイル1.txt

ステップ 11: 変更をコミットする

ここで、コミット メッセージとともに以下のコマンドを実行して、変更をコミットします。

gitコミット -m 「feature2 ブランチにファイルが追加および更新されました」

ステップ 12: ブランチをマージする

次に、「」を使用します。 gitマージ 「マージするコマンド」 特徴2 ' とともに ' アルファ ' ブランチ:

gitマージ アルファ

提供された出力によると、「 競合: file1.txt のマージ競合 ” が発生しました:

「」を実行して、指定したファイル内で競合が発生した場所を確認します。 始める ' 指図:

file1.txtを開始します

両方の同じファイルの内容が互いに異なることがわかります。

ステップ 13: マージを中止する

使用 ' gitマージ ”コマンドと” -アボート 」オプションを使用してマージ操作を削除します。

gitマージ - アボート

上記のセクションで発生した競合を解決するために先に進みます。

Git マージの競合を解決するには?

Git マージの競合を解決するには、以下の手順に従います。

  • 競合が発生しているファイルを開いて変更します。
  • 変更を追跡してコミットします。
  • 最後に、両方のブランチをマージします。

ステップ 1: ファイルを変更する

デフォルトのエディタでファイルを開き、「 アルファ ” ブランチのファイル:

file1.txtを開始します

ファイルが変更されていることがわかります。次に、「」を押します。 CTRL+S 」を選択して保存します。

ステップ 2: ファイルを追跡する

提供されたコマンドを実行して、作業ディレクトリからステージング領域にファイルを追加します。

git add ファイル1.txt

ステップ 3: 変更をコミットする

すべての変更をコミットするには、「 gitコミット ' 指図:

gitコミット -m 「変更されたファイルが追加されました」

その結果、変更は正常にコミットされました。

ステップ 4: ブランチをマージする

ここで、「」を実行します。 gitマージ ” ブランチと他のブランチ名:

gitマージ アルファ

その結果、テキスト エディタが開き、コミット メッセージの追加を求められます。コミット メッセージを変更し、保存後に閉じます。

以下の出力は、Git マージ競合が解決され、ブランチが正常にマージされたことを示しています。

Git マージ競合の解決についてはこれですべてです。

結論

Git マージ競合は、同じファイルが 2 つの異なるブランチで異なる内容で変更された場合に発生します。この競合を解決するには、同じファイルを開いて、他のブランチ ファイルに従ってその内容を変更します。次に、それをステージング領域に追加してコミットします。最後に「」を使用します。 gitマージ ” コマンドを使用してブランチをマージします。この投稿では、Git マージ競合を解決する方法について説明しました。