Rebase
- Git kursu
- Orta seviye
- Ders 80/82
- 6 dk
bir özellik dalını rebase ile doğrusal tarihçe kurarsın.
Rebase ile doğrusal tarihçe
Rebase, bir dalın commit'lerini başka bir dalın güncel ucunun üzerine yeniden uygular. Böylece iki dalın geçmişi birleştirme commit'i oluşturmadan daha doğrusal görünebilir. Özellik dalını güncel main üzerine taşımak için özellik dalındayken git rebase main komutunu kullanırsın.
git switch feature/search
git rebase mainUygulama Rebase öncesi doğru dala geç
feature/catalog dalına geç ve bu dalı main üzerine rebase et. İki komutu sırayla yaz.
Başlangıç kodu
# Özellik dalına geç
# main üzerine rebase etÖrnek çözüm
git switch feature/catalog
git rebase mainBeklenen çıktı
Switched to branch 'feature/catalog'. Successfully rebased and updated refs/heads/feature/catalog.
Uygulama Rebase edilmiş dalı ana dala aktar
feature/catalog dalının rebase işlemi tamamlandı. Ana dala geç ve güncellenmiş özellik dalını birleştir. İki komutu doğru sırayla yaz.
Başlangıç kodu
# Ana dala geç
# Güncellenmiş özellik dalını birleştirÖrnek çözüm
git switch main
git merge feature/catalogBeklenen çıktı
Switched to branch 'main'. Feature branch merged.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Özellik dalındaki commit'leri güncel main dalının üzerine yeniden uygulamak için hangi işlem yapılmalıdır?
- git reset main
- git cherry-pick main
- git revert main
- git rebase main Doğru cevap
Açıklama: Özellik dalındayken git rebase main komutu, o dalın commit'lerini main dalının güncel ucuna yeniden uygular.
2 Özellik dalını güncelle
git switch feature/search
git rebase ____
git switch feature/search
git rebase main
Açıklama: Rebase hedefi, özellik dalının üzerine taşınacağı ana dal olan main'dir.
3 Rebase kavramları
| Kavram | Anlamı |
|---|---|
Rebase |
Commit'leri yeniden uygular |
Hedef dal |
Commit'lerin taşınacağı dal |
Doğrusal geçmiş |
Daha düz commit akışı |
Özellik dalı |
Geliştirme commit'lerini tutar |