Git Rebase Nedir? Merge ile Farkları (Ne Zaman Kullanılır?)
Git kullanırken branch’leri birleştirmenin iki temel yolu vardır: merge ve rebase. Rebase, commit geçmişini yeniden yazarak daha temiz ve lineer bir Git geçmişi oluşturmayı amaçlar.
İçindekiler
- Git Rebase Nedir?
- Git Rebase Nasıl Çalışır?
- Git Rebase Komutları
- Git Merge vs Git Rebase
- Rebase Ne Zaman Kullanılmalı?
- Rebase Riskleri
- Sık Sorulan Sorular
- Sonuç
1) Git Rebase Nedir?
Git rebase, bir branch’te yapılan commit’leri alıp başka bir branch’in en son commit’inin üzerine yeniden ekler. Böylece commit geçmişi tek bir çizgi gibi görünür.
2) Git Rebase Nasıl Çalışır?
Örnek senaryo:
main A --- B --- C
feature D --- E
feature branch’inde rebase yaparsak:
main A --- B --- C
feature D' --- E'
Commit’ler kopyalanır ve yeni hash’lerle yeniden yazılır.
3) Git Rebase Komutları
Temel rebase
git checkout feature
git rebase main
Conflict olursa
git status
# conflict çöz
git add .
git rebase --continue
Rebase iptal
git rebase --abort
4) Git Merge vs Git Rebase
| Özellik | Merge | Rebase |
|---|---|---|
| Commit geçmişi | Dallı | Lineer |
| Commit hash | Değişmez | Yeniden yazılır |
| Güvenlik | Daha güvenli | Daha riskli |
| Takım projeleri | Önerilir | Dikkatli kullanılmalı |
Merge detayları için: Git Merge
5) Rebase Ne Zaman Kullanılmalı?
- Kendi local branch’inizde çalışıyorsanız
- Henüz paylaşılmamış commit’ler varsa
- Daha temiz commit geçmişi isteniyorsa
6) Rebase Riskleri
Paylaşılan branch’lerde rebase yapmak tehlikelidir. Çünkü commit hash’leri değişir ve diğer geliştiricilerin geçmişi bozulur.
7) Sık Sorulan Sorular
Rebase mi merge mi?
Paylaşılan branch → merge, local branch → rebase
Rebase conflict olur mu?
Evet. Merge conflict ile benzer şekilde çözülür.
Sonuç
Git rebase, doğru yerde kullanıldığında Git geçmişini çok daha okunabilir hale getirir. Ancak yanlış yerde kullanılırsa ciddi problemlere yol açabilir. Merge ve rebase farkını iyi bilmek profesyonel Git kullanımının temelidir.