CodeBlanks Logo Icon CodeBlanks

Bisect

bisect ile hatalı commit'i ikili aramada bulursun.

Git bisect nedir?

git bisect, bir hatanın hangi commit ile ortaya çıktığını bulmak için ikili arama yöntemi kullanır. Önce hatanın bulunduğu bir commit'i bad, hatanın henüz bulunmadığı eski bir commit'i good olarak işaretlersin. Git, aradaki commit'leri bölerek kontrol etmeni sağlar.

git bisect start
git bisect bad
git bisect good abc1234

Bu yöntem, uzun commit geçmişlerinde hatalı değişikliği daha hızlı bulmaya yardımcı olur.

Uygulama Bisect aramasını başlat

Hatalı commit'i bulmak için bisect sürecini başlat. Önce aramayı aç, mevcut commit'i hatalı olarak işaretle ve abc1234 commit'ini hatasız olarak belirt.

Başlangıç kodu

terminal
# Bisect aramasını başlat

Örnek çözüm

terminal
git bisect start
git bisect bad
git bisect good abc1234

Beklenen çıktı

Bisect araması başlatıldı ve aralık belirlendi.

Uygulama İkili aramayla hatalı commit'i bul

Bisect sürecinde Git'in seçtiği her commit'i test ettiğini varsay. Test sonucu hatayı içeriyorsa git bisect bad, içermiyorsa git bisect good çalıştır. Git aralığı daraltarak hatalı commit'i belirlediğinde aramayı bitir ve normal çalışma durumuna dön.

Başlangıç kodu

terminal
# Test sonucu hatalıysa
# Test sonucu temizse
# Aramayı bitir

Örnek çözüm

terminal
git bisect bad
git bisect good
git bisect reset

Beklenen çıktı

Hatalı commit belirlendi ve bisect tamamlandı.

Soru ve cevaplar

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

1 Hatanın bulunmadığından emin olduğun eski commit'i işaretlemek için hangi komut kullanılır?

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

Açıklama: <code>git bisect good</code>, test edilen commit'in hatayı içermediğini belirtir.

2 Hatalı sürümü işaretle

Soru
git bisect start
git bisect bad
____
Cevap
git bisect start
git bisect bad
bad

Açıklama: <code>git bisect bad</code>, mevcut commit'in hatayı içerdiğini belirtir.

3 Bisect komutları

Kavram Anlamı
git bisect start Arama sürecini başlatır
git bisect good Hatasız commit'i işaretler
git bisect bad Hatalı commit'i işaretler
git bisect reset Normal duruma geri döner

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