4 dosya var:
$LOCAL
Birleştirdiğiniz daldaki dosya; size gösterildiğinde birleştirme işlemine dokunulmaz
$REMOTE
Birleştirdiğiniz daldaki dosya; size gösterildiğinde birleştirme işlemine dokunulmaz
$BASE
$ LOCAL ve $ REMOTE'un ortak atası, yani. iki şubenin dikkate alınan dosyayı yönlendirmeye başladığı nokta; size gösterildiğinde birleştirme işlemine dokunulmaz
$MERGED
Kısmen birleştirilmiş dosya, çakışmalarla; bu, birleştirme işleminin dokunduğu tek dosyadır ve aslında size hiç gösterilmezmeld
$MERGED
Dosya içeren biridir <<<<<<
, >>>>>>
, =====
(ve belki, ||||||
) işaretleri (yani sınırlandırmaktadır çatışmalar). Bu , çakışmaları düzeltmek için manuel olarak düzenlediğiniz dosyadır .
Manuel çakışma düzenleme ve görsel çakışma düzenleme farklı dosyalarda yapılır ve farklı bilgiler sunulur.
Mergetool (varsayalım kullanırken meld
), burada görüyoruz dosyalar şunlardır: $LOCAL
, $BASE
, $REMOTE
. $MERGED
Dosyayı görmediğinizi unutmayın , ancak bu, meld
düzenlemenin sonucunu buraya yazmak için gizli bir parametre olarak iletilir .
Başka bir deyişle, içinde meld
dosyayı ortada, dosyayı düzenliyorsunuz ve $BASE
tüm değişiklikleri soldan veya sağdan manuel olarak seçiyorsunuz . Birleştirme işlemi tarafından dokunulmamış temiz bir dosyadır. Tek aksaklık, kaydettiğinizde, $BASE
dosyaya kaydetmezsiniz , ancak dördüncü gizli parametresinde meld
, $MERGED
dosyadır (görmediğiniz bile). $BASE
Dosya yok değil çünkü herhangi bir çatışma veya kısmi başarılı birleştirmeleri ihtiva değil $MERGED
dosya .
Görsel düzenlemede, $BASE
dosyayı size sunarken (dosya yerine $MERGED
) git
temel olarak birleştirme işlemini gerçekleştirme girişimlerinin tümünü atar (isterseniz bu girişimler $ MERGED dosyasında görünür) ve birleştirmeyi tamamen yapmanızı sağlar sıfırdan .
Sonuç olarak, manuel ve görsel birleştirme çakışmalarında aynı dosyalara bakmıyorsunuz, ancak nihai sonuç aynı dosyaya ( $MERGED
dosyadır) yazılır .
Çatışmaların manuel düzeltme yapılır $MERGED
çünkü git
hayır demek var bu yüzden üç dosya (bilgi squashes, size üç dosya sunmak $LOCAL
, $BASE
, $REMOTE
ki) $MERGED
dosyası.
Ama görsel araçlar araçlara sahip sana üç dosyaları göstermek için: onlar size göstermek $LOCAL
, $BASE
, $REMOTE
dosyaları. $LOCAL
Ve $REMOTE
dosyalarından değişiklikleri seçiyorsunuz ve bunları $BASE
dosyaya getiriyorsunuz, dosyayı yeniden birleştirmenin başarısız girişimini tamamen yeniden oluşturuyor ve hatta üzerine yazıyorsunuz $MERGED
.
merge.conflictstyle
yapılandırma seçeneğidiff3
varsayılan olarak ayarlanmışsa otomatik birleştirmede başarısız olan bir dosyadaki çakışan parçaları daha iyi anlarlarmerge
.