Menu
Coddy logo textTech

Üç Yönlü Birleştirme

Coddy'nin Terminal Journey'sinin Versiyon Kontrolü bölümünün bir parçası — ders 36 / 58.

Eğer her iki dal da birbirinden bağımsız olarak ilerlemişse, Git doğrudan ileri sarma (fast-forward) işlemini gerçekleştiremez. Bunun yerine bir üç yollu birleştirme (three-way merge) gerçekleştirir: ortak ataya ve iki dalın uçlarına bakar ve bunları birleştiren yeni bir commit oluşturur.

Bu yeni commit bir merge commit'idir. Her bir daldan birer tane olmak üzere iki ebeveyne sahiptir:

git switch main
git merge feature -m "Merge feature"

-m bayrağı merge commit mesajını doğrudan sağlar, böylece Git bir düzenleyici açmaz.

Çoğu zaman Git, dosyaların farklı kısımlarına dokundukları sürece her iki daldaki değişiklikleri otomatik olarak birleştirebilir. Çakışmalar yalnızca her iki dal da aynı satırları değiştirdiğinde meydana gelir; bu da bir sonraki dersin konusudur.

challenge icon

Görev

Orta

top.txt (içerik: a) ve bottom.txt (içerik: b) dosyalarının bulunduğu yeni bir klasörde başlıyorsunuz.

Depoyu (repo) başlatın, ilk commit'i yapın ve ardından şunları uygulayın:

  1. feature adında bir dal (branch) oluşturun ve top.txt dosyasına added satırını ekleyin; commit yapın.
  2. main dalına geri dönün ve bottom.txt dosyasına added satırını ekleyin; commit yapın.
  3. feature dalını Merge feature mesajıyla main dalına birleştirin (merge).

git rev-list --count HEAD komutunu kullanarak HEAD'den ulaşılabilen commit sayısını yazdırın. Beklenen sayı 4'tür (initial + feature + main + merge).

Kopya kağıdı

Her iki dal da birbirinden ayrıldığında, Git iki ebeveynli yeni bir birleştirme işlemesi (merge commit) oluşturarak üç yollu birleştirme (three-way merge) gerçekleştirir:

git switch main
git merge feature -m "Merge feature"

-m bayrağı, bir düzenleyici açmadan birleştirme işlemesi mesajını ayarlar. Her iki dal da farklı satırları değiştirdiği sürece Git otomatik olarak birleştirme yapar.

Kendin dene

Terminal
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Versiyon Kontrolü bölümündeki tüm dersler