出典ます。https://www.liuhaolin.com/git/115.html
gitのは、それが競合をマージする場合は、ファイルの内容の異なる別の支店での競合をマージします。ファイルは、同じファイルを内蔵している2本の枝のように、ファイルを追加することができるが、それらは、異なるアップデートで、さまざまなコンテンツを持っている、あるいは両方のブランチで同じファイルを更新しました。最終的に異なるブランチで同じファイル内の別のコンテンツにつながります。あなたがマージする必要がある場合は、手動で合併の葛藤や取り消しを解決する必要があります。
「競合のマージの作成」
紛争を解決するgitの例
倉庫を初期化した後、作成し dev
たファイルに支店を追加し、ブランチを master-dev.txt
し、その後に提出 dev
ブランチ。切り替えて master
ブランチ、同様の操作を、文書で提示されたmaster-dev.txt
均等マスターブランチにコミットし、しかし、2つの文書の内容が異なっています。あなたがしたい場合は dev
提出して分岐しmaster
、コードが競合になります。
「競合」を作成します。
エコー「テスト-コードの競合を提出する」 > READMEが 。INITをgitの 追加]をgitの。 コミットgitの -m 「initは」 #のdevのブランチを作成し、DEV分岐に切り替え Gitチェックアウト - BのDEVの #現在のブランチのdevの gitのブランチ #1 *ののdevの #マスター エコー" DEV " > MASTER dev.txt #提出のdevの枝 Gitのコミット -m ' アドインマスターファイルdev.txt [DEVブランチ] ' Gitのチェックアウトマスターは エコー" マスター" > MASTERのdev.txt Gitが追加。 gitのコミット -m 「[マスターブランチ]ファイルマスターdev.txtを追加します」
devの枝は、マスタコードをマージし、どのような状況ご覧ください。
でmasterブランチで現在のブランチ、にコードの#Devのブランチ Gitのマージのdevの #は、自動的にファイルのマスターをマージ - dev.txt 自動 MASTER -merging dev.txt 、紛争を促しマスターで競合をマージ# - DEVを。 TXTの コンフリクト(追加 /追加):競合のマージ中に MASTERをdev.txt #自動マージ競合を修正するために失敗し、その後の結果提出 自動マージに失敗しました。その後、紛争を解決し、結果をコミットします。
競合が、これは時間が、ある master-dev.txt
コンテンツが変更されたが、ファイルの内容が二つの分岐があります 収束 マスターdev.txtファイルを。
猫マスターdev.txt <<<<<<< HEADの マスター ======= DEV >>>>>>> DEV
紛争、および現在のファイルを持っていた警告が master-dev.txt
変更されます。今回は、唯一の競合を解決します。そして、次のステップ。たとえば、あなたが見たい dev分支
ファイル master-dev.txt
紛争の第1解像度ので、内容が変更されており、この時間は見ることができませんでしたか。競合が発生したときに実際には、それは枝を切り替えることはできません。これは、利点は、問題が他のコード分岐の汚染を防止することであるということである持っています。
チェックアウトDEVのgit マスター-dev.txt:ニーズがマージ #の競合が現在のインデックス領域の前に解決する必要があります エラー:あなたはあなたの現在の解決に必要な最初のインデックスを
マージコードで競合を解決
Gitは使用して、 7 +左現在のブランチ矢印、および図7に等しい7 +現在の分岐が右矢印 衝突のコード、三行の合計を指示します。紛争を解決した後、コードを変更して、これら3行を削除することです。たとえば、この変更は、これらの3行を削除することです。
猫マスターdev.txt マスター DEV
現在の状態の外観を変更した後
ステータスはgitの オン支店マスター 合併の成功のどの部分がありません#を 。あなたによってマージされていないパスを持っている #修正のバグを、と言及して提出する (と競合FIXのRUN「コミットgitの」) #使用gitの合併の終了--aboutマージ (「gitのマージを使用して- 「マージ)で中止するABORT #なしマージされたファイル :結合を解除しましパス ...「)マーク決議に追加<ファイル>はgit(使用」 の両方-追加:マスターdev.txtを
ファイルの競合を修正し、競合が解決されていない ファイルはコミットしていなかったので、。当社は、合併または取り消しをマージしていきませんでした。私はまだ枝を切り替えることはできません。
gitのチェックアウトのdevの マスター-dev.txt:ニーズがマージ エラー:あなたが最初にあなたの現在のインデックスを解決する必要があります
ここではそれを提出し、その結果を参照してください。
アドオンのGit dev.txtマスター Gitのコミット-m「コミット両方」 #現在のブランチがマスターである CAT dev.txtマスター- マスター DEV へ#DEV分岐スイッチ dev.txt CAT-マスター のDEV #devの分岐交換の内容を見ることができますオリジナルのコンテンツで、変更されていません。
これは、競合のブランチをマージします問題がある devの枝コンテンツと マスター・コンテンツの分岐が異なっているが。どのように同期することができますか?
DEVブランチで#、マスター更新 Gitはマスターリベース ... ITに関する作業の先頭にあなたの頭を、リプレイ巻き戻し、#Firstを 。#早送りdevのマスターに #この番組を、そして今、コンテンツのdevのブランチとマスターブランチ内容は同じです。 マスター・dev.txt CAT マスター DEV