gitは、特定のマージに競合があること、および競合とは何かをどのように判断しますか?
私の推測では、次のようになります。マージされる2つのコミットに共通の親コミットがあり、両方とも親が持っていたものから行Xを変更した場合、それは競合です。
私の理解を複雑にしているのは:
- 「行Xを変更する」とは、それを複数の新しい行に置き換えることを意味しますが、それでも1つの競合として表示されます(バージョンAにはこの1行があり、バージョンBにはこれらの5行があります)。
- コミットの1つに行を挿入した場合、ダンバーアルゴリズムは、後続のすべての行が変更されたと見なします。30行目は25行目の以前の内容になり、31行目は26行の以前の内容になります。同じです、そして私は方法がわかりません。
誰かがこれがどのように機能するかを説明できますか、または機能するリンクを教えてもらえますか?