good ve bad
- Git kursu
- İleri seviye
- Ders 6/56
- 4 dk
good ve bad referansları ile aramayı öğrenirsin.
good ve bad referansları
Bisect aramasında good, hatanın bulunmadığı çalışan bir commit'i; bad ise hatanın bulunduğu commit'i belirtir. Bu iki referans, Git'in araştıracağı aralığın sınırlarını oluşturur. Doğru sonuç için iki sınırın durumunu da güvenilir biçimde bilmelisin.
git bisect start
git bisect bad HEAD
git bisect good v1.2.0Bu örnekte mevcut commit hatalı, v1.2.0 etiketiyle işaretlenen sürüm ise çalışır durumdadır.
Arama aralığını belirleme
İki sınırı belirttikten sonra Git aralıktaki bir commit'e geçer. Uygulamayı veya ilgili testi çalıştırarak o commit'in hatalı olup olmadığını kontrol edersin. Hata varsa git bisect bad, yoksa git bisect good komutunu kullanırsın.
git bisect good 4f8a2c1
git bisect bad 9d3e7b2Git, verdiğin sonuçlara göre arama aralığını daraltır ve sıradaki commit'i seçer.
Uygulama Belirli bir aralıkta hata ara
Bisect aramasını başlat. Mevcut commit'i hatalı, v2.0.0 etiketini ise çalışır olarak işaretle. Komutları doğru sırayla yaz.
Başlangıç kodu
# Aramayı başlat
# Mevcut commit hatalı
# v2.0.0 sürümü çalışıyorÖrnek çözüm
git bisect start
git bisect bad HEAD
git bisect good v2.0.0Beklenen çıktı
Bisect session started. Current commit marked bad. v2.0.0 marked good.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir uygulamada hatanın bulunmadığını doğruladığın eski commit'i bisect'e nasıl bildirirsin?
- git bisect reset
- git bisect start
- git bisect bad
- git bisect good Doğru cevap
Açıklama: git bisect good, kontrol edilen commit'in hatasız ve çalışır durumda olduğunu bildirir.
2 Hatalı commit'i bildir
git bisect ____
git bisect bad HEAD
Açıklama: Mevcut commit'in hatalı olduğunu bildirmek için bad referansı kullanılır.
3 Bisect referansları
| Kavram | Anlamı |
|---|---|
good |
Hatanın bulunmadığı commit |
bad |
Hatanın bulunduğu commit |
HEAD |
Mevcut commit referansı |
Etiket |
Belirli bir sürüm referansı |