ホームページ >運用・保守 >Nginx >Git マージ競合を解決する方法

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

WBOY
WBOY転載
2023-06-09 15:58:561989ブラウズ

如何解决 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 までご連絡ください。