Git Bisect adalah perintah yang digunakan untuk menemukan commit yang memperkenalkan bug di dalam sejarah proyek Anda. Ini menggunakan algoritma pencarian biner untuk menyempitkan rentang commit di mana bug tersebut muncul. Berikut adalah penjelasan singkat dari beberapa sub-perintah Git Bisect:
git bisect start:
Memulai sesi bisect dan menentukan commit "buruk" dan "baik" awal.
Dapat mengatur terminologi dengan opsi `--term-(bad|new)` dan `--term-(good|old)`.
git bisect bad / git bisect good:
Menandai commit saat ini sebagai "buruk" atau "baik".
Rentang commit yang harus diuji akan menyempit setiap kali Anda menandai commit.
git bisect terms:
Menampilkan terminologi yang digunakan saat ini (contoh: "good" dan "bad" atau "old" dan "new").
git bisect skip:
Melewati commit saat ini, berguna jika commit tersebut tidak dapat diuji.
Dapat juga digunakan untuk melewati rentang commit.
git bisect reset:
Mengembalikan proyek ke kondisi sebelum sesi bisect dimulai.
Dapat menerima argumen opsional untuk kembali ke commit tertentu.
git bisect visualize:
Menampilkan suspek yang tersisa dalam sesi bisect menggunakan alat grafis seperti gitk.
git bisect log:
Menampilkan log bisect yang memberikan ringkasan dari semua tindakan yang diambil selama sesi bisect.
git bisect run:
Menjalankan skrip atau perintah untuk mengotomatiskan uji "buruk" atau "baik" pada setiap langkah bisect.
Menggunakan kode keluar 0 untuk "baik", 1-127 untuk "buruk", dan 125 untuk melewati commit.
Contoh Penggunaan Sederhana:
1. Inisiasi Bisect:
--bash
git bisect start
git bisect bad # Commit saat ini adalah yang buruk
git bisect good v2.6.13-rc2 # Commit v2.6.13-rc2 adalah yang baik
2. Uji dan Terapkan Penanda:
- Git akan memberi tahu Anda untuk menguji commit dan menandainya sebagai "baik" atau "buruk".
--bash
Setelah menguji commit
git bisect good # Atau git bisect bad
```
3. Hasil Akhir:
- Setelah beberapa langkah, Git akan memberikan hasil bisect.
--bash
Bisecting: 0 revisions left to test after this (roughly 5 steps)
123456789 - First bad commit
4. Reset Setelah Selesai:
--bash
git bisect reset
```
Catatan:
- Git Bisect sangat membantu dalam menemukan commit yang memperkenalkan bug dengan efisien.
- Sub-perintah `git bisect run` memungkinkan otomatisasi pengujian, sangat berguna untuk skenario pengujian besar.
Sumber: https://git-scm.com/docs/git-bisect