Diyelim ki origin/mastertaahhüt var A--B--Cve benim local/mastertaahhü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-onlyuzak 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-onlybaşarısız olur.
A--B--C.
git pull --rebase --ff-onlymusunuz? (C & D olduğu varsayılarak)
pullbirleştirme taahhütleri sunabilir, oysa yalnızca rebase ve ff ile çalışmayı tercih edebilirsiniz.
DYerel değişimde taahhüt olmazsa ne olur ? Her iki komut da eşdeğer olur mu?