CodeBlanks Logo Icon CodeBlanks

Özet - Bisect

bisect akışını birleştirerek hatalı commit'i bulursun.

Özet: Bisect akışı

Bir hatanın hangi commit ile başladığını bulmak için önce git bisect start komutuyla aramayı başlatırsın. Hatalı sürümü bad, çalışan sürümü good olarak belirtirsin. Git, ikili aramayla aralığı daraltır ve her adımda yeni bir commit seçer.

git bisect start
git bisect bad HEAD
git bisect good v1.0.0

İstersen her commit'i elle kontrol edebilir veya git bisect run ile testi otomatikleştirebilirsin.

Uygulama Hatalı commit'i otomatik bul

Bisect oturumunu başlat. Mevcut commit'i hatalı, v1.5.0 etiketini çalışan sürüm olarak bildir. Ardından ./check-bug.sh testini otomatik çalıştır ve arama tamamlandığında oturumu sıfırla.

Başlangıç kodu

terminal
# Bisect oturumunu başlat

# Mevcut commit hatalı

# v1.5.0 çalışan sürüm

# Testi otomatik çalıştır

# Oturumu bitir

Örnek çözüm

terminal
git bisect start
git bisect bad HEAD
git bisect good v1.5.0
git bisect run ./check-bug.sh
git bisect reset

Beklenen çıktı

Bisect session started.
Current commit marked bad.
v1.5.0 marked good.
Automated test completed.
Bisect session reset.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bisect araması tamamlandığında Git, hatanın başladığı commit'i belirledi. Arama oturumunu sonlandırıp önceki dal durumuna dönmek için hangi komutu kullanırsın?

  • git bisect good
  • git bisect reset Doğru cevap
  • git bisect run
  • git bisect bad

Açıklama: git bisect reset, bisect oturumunu bitirir ve başlangıçtaki HEAD konumuna geri döner.

2 Otomatik arama ve test

Soru
git bisect ____
Cevap
git bisect run ./check-bug.sh

Açıklama: Belirtilen betiği arama boyunca otomatik çalıştırmak için git bisect run kullanılır.

3 Bisect komutlarının görevleri

Kavram Anlamı
git bisect start Arama oturumunu başlatır
git bisect good Çalışan commit'i işaretler
git bisect bad Hatalı commit'i işaretler
git bisect run Testi otomatik yürütür

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