2016-11-02 18 views
1

ブランチのマージ手順をよりよく理解する必要があります。gitがブランチ間でマージする

次の設計に続き:

enter image description here

これは、任意のコードで失われる可能性がありますまたは末尾の枝は、すべてのコミットを持っているのだろうか?

私の観点からは、コミットにはそれぞれ固有のハッシュが識別されているが、コードの一部が失われて解決されず、過去に何が間違っていたかわからないそれが再び起こることは望ましくありません。

私は説明を理解するでしょう。

答えて

1

我々は

競合を解決するために、いくつかの瞬間、いくつかの代わりに、コードの失われた紛争で経験したことがあり、最後のマージベース以来同時変更があった場合にのみ発生します。
1つのブランチでのみ変更が発生した場合(最後のマージ以降)、そのブランチをその宛先ブランチにマージすると、ソースブランチの内容で宛先ブランチの内容が上書きされます。

と、それらの問題のマージを試してみて、リメイク:その方法

git config merge.conflictStyle diff3 

、あなたは共通の祖先と同様に、送信元と宛先コードの競合が表示されます。
this merge conflict exampleを参照してください。

BCをマージする枝AのHEADを意味しないことにも注意してください、BCされているが(branch C(=A=B)が暗に示すこと)のように等しい:BCは1つのマージ(マージの結果)をコミットしている、c8のままで、 Aは移動していません。

関連する問題