CodeBlanks Logo Icon CodeBlanks

good ve bad

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.0

Bu ö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 9d3e7b2

Git, 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

terminal
# Aramayı başlat

# Mevcut commit hatalı

# v2.0.0 sürümü çalışıyor

Örnek çözüm

terminal
git bisect start
git bisect bad HEAD
git bisect good v2.0.0

Beklenen çı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

Soru
git bisect ____
Cevap
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ı

İleri seviye bölümündeki tüm dersler