Özet - İnteraktif rebase
- Git kursu
- İleri seviye
- Ders 4/56
- 5 dk
interaktif rebase komutlarını birleştirerek tarihçeyi yeniden yazarsın.
Özet: İnteraktif rebase
İnteraktif rebase, commit geçmişini yeniden düzenlemek için güçlü bir araçtır. pick commit'i korur, reword mesajını değiştirir, squash önceki commit ile birleştirir, edit düzenleme için duraklatır ve drop commit'i çıkarır.
git rebase -i HEAD~5Todo listesini düzenledikten sonra Git'in yönlendirdiği adımları tamamla. İşlem durakladığında değişiklikleri düzenleyebilir, tamamlandığında git rebase --continue kullanabilirsin.
Uygulama Birden fazla commit'i tek kayda dönüştür
Son dört commit için interaktif rebase başlat. Todo listesinde ilk commit'i koru ve sonraki üç commit'i önceki kayıtla birleştir. Commit kimliklerini ve açıklamalarını aşağıdaki gibi kullan.
Başlangıç kodu
# İnteraktif rebase başlat
# Todo listesinde dört commit'i düzenleÖrnek çözüm
git rebase -i HEAD~4
pick a10bc20 Add invoice model
squash b20cd30 Add invoice validation
squash c30de40 Add invoice tests
squash d40ef50 Fix invoice labelsBeklenen çıktı
Interactive rebase started. pick a10bc20 Add invoice model squash b20cd30 Add invoice validation squash c30de40 Add invoice tests squash d40ef50 Fix invoice labels
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir özellik dalındaki gereksiz geçici commit'i geçmişten kaldırırken diğer commit'leri korumak istiyorsun. Todo listesinde hangi işlem kullanılmalıdır?
- edit
- squash
- reword
- drop Doğru cevap
Açıklama: drop, seçilen commit'i yeniden yazılan geçmişten çıkarır; diğer commit'ler listede kaldıkları şekilde işlenir.
2 İnteraktif rebase oturumunu başlat
git ____
git rebase -i HEAD~6
Açıklama: Commit geçmişini etkileşimli olarak düzenlemek için git rebase -i kullanılır.
3 İnteraktif rebase komutlarını birleştir
| Kavram | Anlamı |
|---|---|
pick |
Commit'i yeniden uygula |
reword |
Mesajı yeniden yaz |
squash |
Önceki kayıtla birleştir |
drop |
Kaydı geçmişten çıkar |