Sobes.tech
Junior — Middle

Git sürüm kontrol sisteminde rebase komutunun çalışma prensibini açıklayın ve merge'den farkını belirtin.

sobes.tech yapay zeka

AI'dan gelen yanıt

git rebase komutu, bir dizi commit’i yeni bir temel üzerine taşımak veya 'yeniden yazmak' için kullanılır, yani başka bir commit üzerine. Bir dalın değişikliklerini alıp başka bir dalın üzerine 'oynatmanıza' olanak tanır, böylece ek merge commit’leri olmadan doğrusal bir tarih oluşturur.

git merge ile farklar:

  • git merge iki dalı birleştirir ve her iki dalın geçmişini ve dallanma noktalarını koruyan yeni bir birleştirme commit’i oluşturur.
  • git rebase bir dalın commit’lerini başka bir dalın en üstüne taşır, tarihi yeniden yazar ve onu doğrusal hale getirir.

Örnek:

Eğer feature adında bir dalınız varsa ve bu dal master’dan türemişse ve master güncellenmişse:

  • git merge master komutu, değişiklikleri birleştiren bir merge commit’i oluşturur.
  • git rebase master komutu, commit’lerinizi güncel master’ın en üstüne taşır, sanki en son master durumundan çalışmaya başlamışsınız gibi.

Rebase, temiz bir tarih tutmak için kullanışlıdır, ancak halka açık dallarla çalışırken dikkatli olunmalı, böylece ortak tarih yeniden yazılmaz.