Bisect
- Git kursu
- İleri seviye
- Ders 54/56
- 6 dk
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 abc1234Bu 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
# Bisect aramasını başlatÖrnek çözüm
git bisect start
git bisect bad
git bisect good abc1234Beklenen çı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
# Test sonucu hatalıysa
# Test sonucu temizse
# Aramayı bitirÖrnek çözüm
git bisect bad
git bisect good
git bisect resetBeklenen çı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
git bisect start
git bisect bad
____
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 |