Fast-forward
- Git kursu
- Başlangıç
- Ders 58/80
- 4 dk
Fast-forward birleştirmenin ne zaman olduğunu öğrenirsin.
Fast-forward nedir?
Fast-forward, hedef dalda kaynak daldan bağımsız yeni commit bulunmadığında gerçekleşebilen basit bir birleştirme türüdür. Git, hedef dalın işaretçisini kaynak daldaki en son commit'e ilerletir ve yeni bir merge commit oluşturmaz.
main: A
\
feature: B -- C
# main, C'ye ilerlerSonuçta commit geçmişi doğrusal kalır.
Doğrusal commit geçmişi
Fast-forward sonrasında commit'ler tek bir çizgi üzerinde ilerler. Bu durumda dalların birleştirildiğini gösteren ayrı bir commit bulunmaz.
A -- B -- C
main featureBu yöntem, iki dal arasındaki geçmişin doğrusal kalmasını istediğinde kullanışlıdır. Hedef dalda bağımsız bir commit varsa normal fast-forward gerçekleşemez.
Uygulama Fast-forward komutunu hazırla
main dalındasın ve topic dalındaki ilerlemeyi birleştirmek istiyorsun. Komutu mergeCommand değişkenine ata ve ekrana yazdır.
Başlangıç kodu
const mergeCommand = "";
// Komutu ekrana yazdırÖrnek çözüm
const mergeCommand = "git merge topic";
console.log(mergeCommand);Beklenen çıktı
git merge topic
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Fast-forward birleştirmede Git ne yapar?
- Commit mesajlarını birleştirir
- Hedef dalın işaretçisini ileri taşır Doğru cevap
- Her iki dalı da siler
- Her zaman yeni bir merge commit oluşturur
Açıklama: Fast-forward sırasında hedef dalın işaretçisi kaynak dalın ilerlediği commit'e taşınır. Ek bir merge commit gerekmez.
2 Fast-forward komutunu yaz
git switch main
____
git switch main
git merge feature
Açıklama: Hedef dal main olduğunda feature dalındaki ilerlemeyi birleştirmek için git merge feature kullanılır. Koşullar uygunsa Git fast-forward yapar.
3 Fast-forward özellikleri
| Kavram | Anlamı |
|---|---|
Fast-forward |
Dal işaretçisini ilerletir |
Doğrusal geçmiş |
Tek çizgide commit dizisi |
Merge commit |
Fast-forward'da oluşturulmaz |
Bağımsız commit |
Fast-forward'u engelleyebilir |