Gitリポジトリを作成し、テキストファイルを追加しました。これは学習目的の場合は100%です。
テキストファイルに「1」を追加し、マスターにコミットしました。
マスターから新しいブランチを作成し、「2」を追加しました。
最後に、マスターからブランチを作成し、「3」を追加しました。
このシナリオまたは他のシナリオで競合がどのように発生する可能性があるか説明してください。
マージすると競合が発生します。
branch2
からmaster
(競合なし)branch3
からmaster
(競合):それは:
master
(2行目は空)ですbranch3
(「3」を含む2行目)master
にあります(branch2
〜master
)Gitは、保持するコンテンツ(「3」、「2」、またはその両方)を選択するように求めます。
まず、次の後にマージを実行します。
git config merge.conflictstyle diff3
「 Gitでマージの競合を修正しますか? 」を参照してください。
2つのブランチの両方がファイルの同じ領域を変更し、その後マージされると、マージの競合が発生します。 Gitはどの変更を保持するかを知ることができないため、競合を解決するには人間の介入が必要です。
この場合、手順2と3は、変更が競合する2つのブランチを作成します。