gitのブランチ研究は、2-解決マージの競合を指摘します

出典ます。https://www.liuhaolin.com/git/115.html

gitのは、それが競合をマージする場合は、ファイルの内容の異なる別の支店での競合をマージします。ファイルは、同じファイルを内蔵している2本の枝のように、ファイルを追加することができるが、それらは、異なるアップデートで、さまざまなコンテンツを持っている、あるいは両方のブランチで同じファイルを更新しました。最終的に異なるブランチで同じファイル内の別のコンテンツにつながります。あなたがマージする必要がある場合は、手動で合併の葛藤や取り消しを解決する必要があります。

 

「競合のマージの作成」

紛争を解決するgitの例

          紛争を解決する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

  

 

おすすめ

転載: www.cnblogs.com/flzs/p/11302559.html