rebase -i
- Git kursu
- İleri seviye
- Ders 1/56
- 4 dk
git rebase -i ile interaktif rebase'i öğrenirsin.
İnteraktif rebase'e giriş
İnteraktif rebase, commit geçmişindeki kayıtları yeniden düzenlemeni sağlar. git rebase -i komutu bir düzenleyicide todo listesi açar; bu listede commit'lerin nasıl işleneceğini belirlersin. Örneğin son dört commit'i incelemek için HEAD~4 kullanabilirsin.
git rebase -i HEAD~4Düzenleyicideki satırların sırası, commit'lerin yeniden uygulanma sırasını belirler. İşlemi tamamlamak için listeyi kaydedip düzenleyiciden çıkarsın.
Todo listesini okuma
İnteraktif rebase düzenleyicisinde her satır bir işlem ve bir commit bilgisi içerir. Satırın başındaki komut, ilgili commit'e ne yapılacağını belirtir. Örneğin pick commit'i olduğu gibi yeniden uygular; diğer komutlar commit mesajını veya commit yapısını değiştirebilir.
pick a12bc34 Add search form
pick b23cd45 Fix search validation
pick c34de56 Update search stylesSatırları düzenleyerek commit sırasını ve uygulanacak işlemleri değiştirebilirsin.
Uygulama İnteraktif rebase komutunu hazırla
Son beş commit'i düzenleyicide incelemek için gerekli Git komutunu yaz. İnteraktif modu etkinleştir ve doğru commit aralığını seç.
Başlangıç kodu
# Son beş commit için interaktif rebase başlatBeklenen çıktı
Interactive rebase started for the selected commit range.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İnteraktif rebase başlatıldığında açılan todo listesinin temel amacı nedir?
- Yeni bir uzak depo oluşturmak
- Uzak depodaki dosyaları indirmek
- Commit kayıtlarının nasıl işleneceğini belirlemek Doğru cevap
- Çalışma dizinindeki tüm dosyaları silmek
Açıklama: Todo listesi, seçilen commit'ler için uygulanacak işlemleri ve bunların sırasını belirler.
2 Son üç commit için interaktif rebase başlat
git rebase ____
git rebase -i HEAD~3
Açıklama: İnteraktif mod için -i seçeneği kullanılır. HEAD~3, son üç commit'i kapsayan aralığı belirtir.
3 İnteraktif rebase arayüzü
| Kavram | Anlamı |
|---|---|
Todo listesi |
İşlem satırlarını içerir |
Düzenleyici |
Listeyi değiştirmeyi sağlar |
Commit kimliği |
İlgili kaydı tanımlar |
Satır sırası |
Yeniden uygulama sırasını belirler |