0

この Git ツリーを考えると:

ここに画像の説明を入力

(同じ説明、同じコミット)

これを実行すると、Git が競合を生成するのはなぜですか?

git checkout bugs
git rebase es-dev

同じコミットが 2 つのブランチに存在する場合、Git が 1 つのブランチを別のブランチにリベースすると、リベースされているブランチのコミットを単純に無視すると私は信じていました。es-devしかし、まったく同じコミットが含まれておりbugs、競合が発生するため、そうではないようです。この場合、次のことを実行できます。

git checkout es-dev
git branch -D bugs
git checkout -b bugs

しかし、より複雑なケースでは問題になる可能性があります... (つまり、またはbugsに存在しないコミットがある場合)masteres-dev

4

1 に答える 1

1

ブランチbugsには、ブランチとは異なるコミットが含まれていますes-dev。そうしないと、グラフィックが異なって見えます。
コミットには同じ変更が含まれる場合がありますが、コミット ハッシュが異なるため、コミットが異なります。

あなたのシナリオでは、単に次のようにリセットできbugsますes-dev

git branch -f bug es-dev
于 2013-02-01T12:10:23.290 に答える