Git マージ競合を解決する方法

WBOY
リリース: 2023-06-09 15:58:56
転載
1983 人が閲覧しました

如何解决 Git 合并冲突

あなたと私が、index.html という名前の同じファイルを共同編集しているとします。ファイルに変更を加えてコミットし、その変更を Git リモート リポジトリにプッシュしました。また、同じファイルに変更を加え、コミットを行い、同じ Git リポジトリへの変更のプッシュを開始しました。ただし、あなたが行った変更が私が行った変更と競合するため、Git は競合を検出しました。

競合を解決する方法は次のとおりです:

1. リモート リポジトリから最新の変更を取得してマージします:

$ git pull
ログイン後にコピー

2. 1 つ以上の競合するファイルを特定します:

$ git status
ログイン後にコピー

3. テキスト エディタを使用して競合ファイルを開きます:

$ vim index.html
ログイン後にコピー

4. 競合を解決します。競合する変更には、<<<<<<HEAD および というマークが付けられます。どの変更を保持して破棄するかを選択し、ファイルを手動で編集して競合する変更をマージする必要があります。

これは例です:

<<<<<<< HEAD<div ><h1>Sample text 1</h1></div>=======<div ><h1>Sample text 2</h1></div>>>>>>>> feature-branch
ログイン後にコピー

この例では、私は Web サイトのタイトルを サンプル テキスト 1 に変更し、あなたはタイトルを サンプル テキスト 2 に変更しました。 。両方の変更がファイルに追加されました。ここで、どのヘッダーを保持するかを決定するか、ファイルを編集して変更をマージすることができます。どちらの場合も、変更の開始と終了を示すマーカーを削除し、必要なコードだけを残します。

<div ><h1>Sample text 2</h1></div>
ログイン後にコピー

5. すべての変更を保存し、エディタを閉じます。

6. ステージング領域にファイルを追加します:

$ git add index.html
ログイン後にコピー

7. 変更を送信します:

$ git commit -m "Updated h1 in index.html"
ログイン後にコピー

このコマンドでは、「解決されたマージ競合 変更を送信」というメッセージが使用されます。 。

8. 変更をリモート リポジトリにプッシュします:

$ git push
ログイン後にコピー

結論

マージ競合は、コードに注目する良い理由になります。ファイルに変更を加えるほど、競合が発生しやすくなります。より多くのコミットを作成し、各コミットの変更を少なくする必要があります。複数の機能拡張やバグ修正を含む、モノリシックな大規模な変更を行うことは避けてください。明確な意図を持つコミットは追跡しやすいため、プロジェクト マネージャーもあなたに感謝するでしょう。初めて Git のマージ競合に遭遇したときは怖いかもしれませんが、解決方法がわかれば、解決するのは簡単であることがわかります。

以上がGit マージ競合を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート