CodeBlanks Logo Icon CodeBlanks

Fast-forward

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 ilerler

Sonuç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  feature

Bu 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

terminal
const mergeCommand = "";

// Komutu ekrana yazdır

Örnek çözüm

terminal
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

Soru
git switch main
____
Cevap
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

Başlangıç bölümündeki tüm dersler