Diyelim ki origin/master
taahhüt var A--B--C
ve benim local/master
taahhüdü var A--B--D
.
Kullanırsam ne olur git pull --rebase
?
Kullanırsam ne olur git pull --ff-only
?
Ortaya çıkan commit ağacında herhangi bir fark var mı?
Yanıtlar:
Git pull --rebase kullanırsam ne olur?
git pull --rebase
kabaca eşdeğerdir
git fetch
git rebase origin/master
yani, uzaktan değişiklikleriniz ( C
) yerel değişikliklerden ( D
) önce uygulanacak ve aşağıdaki ağaç ortaya çıkacaktır.
A -- B -- C -- D
Git pull --ff-only kullanırsam ne olur?
Başarısız olacak.
git pull --ff-only
karşılık gelir
git fetch
git merge --ff-only origin/master
--ff-only
uzak değişiklikleri yalnızca hızlı ileri alınabiliyorsa uygular. Adamdan:
Mevcut HEAD zaten güncel değilse veya birleştirme hızlı ileri sarma olarak çözülemiyorsa, sıfır olmayan bir durumla birleştirmeyi ve çıkmayı reddedin
Yerel ve uzak şubeleriniz birbirinden ayrıldığı için, hızlı ileri sarma ile çözülemez ve git pull --ff-only
başarısız olur.
A--B--C
.
git pull --rebase --ff-only
musunuz? (C & D olduğu varsayılarak)
pull
birleştirme taahhütleri sunabilir, oysa yalnızca rebase ve ff ile çalışmayı tercih edebilirsiniz.
D
Yerel değişimde taahhüt olmazsa ne olur ? Her iki komut da eşdeğer olur mu?