Bisect: Menemukan Commit Bermasalah
Gunakan git bisect untuk melakukan pencarian biner dalam riwayat dan menemukan commit tepat yang memperkenalkan bug, bahkan di antara ratusan commit.
Bisect: Menemukan Commit Bermasalah adalah pelajaran Git Advanced: Monorepo, Submodules & Workflows gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Git Advanced: Monorepo, Submodules & Workflows, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Git Advanced: Monorepo, Submodules & Workflows mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
The Needle in the Haystack
A bug hides somewhere in your last 200 commits. git bisect runs a binary search through history, halving the suspect range with each test.
How Binary Search Helps
Checking 200 commits linearly means 200 tests. Binary search needs only about log2(200) ≈ 8 — bisect narrows the culprit dramatically faster.
Starting a Bisect
Kick off a session with git bisect start. From there Git walks you through marking commits as good or bad.
git bisect startMarking Good and Bad
Tell Git where the bug exists (bad) and an older commit where it didn't (good). That bounds the search range.
git bisect bad HEAD
git bisect good v1.2.0Testing Each Checkout
Git checks out the midpoint commit. You test it and report good or bad, and Git picks the next midpoint accordingly.
git bisect good
# or
git bisect badReaching the Culprit
After a few rounds, Git names the first bad commit — its hash, author, and message — the exact change that introduced the bug.
Ending the Session
Always finish with git bisect reset. It returns you to your starting branch and clears the bisect state.
git bisect resetAutomating with a Script
If you can test the bug programmatically, git bisect run ./test.sh automates the whole search — exit 0 means good, non-zero means bad.
git bisect run ./test.shThe Skip Escape Hatch
Hit a commit you can't test (it won't build)? git bisect skip tells Git to try a nearby commit instead.
git bisect skipReviewing the Log
git bisect log saves or replays the decisions you made — useful for documenting how you found a bug or resuming a session later.
git bisect logBest Practices
For reliable bisects: have a clear, reproducible test, keep commits small and atomic, and automate with git bisect run whenever you can.
Quick Check
Test your bisect knowledge.
Recap
Recap: git bisect start, mark good and bad, test each midpoint to halve the range, automate with run, skip the untestable, and reset when done.
Belajar Git Advanced: Monorepo, Submodules & Workflows dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Bisect: Menemukan Commit Bermasalah” gratis?
Ya — teks lengkap “Bisect: Menemukan Commit Bermasalah” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Git Advanced: Monorepo, Submodules & Workflows, upgrade ke CoddyKit PRO. Kursus Git Advanced: Monorepo, Submodules & Workflows mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Bisect: Menemukan Commit Bermasalah”?
Gunakan git bisect untuk melakukan pencarian biner dalam riwayat dan menemukan commit tepat yang memperkenalkan bug, bahkan di antara ratusan commit. Kamu berlatih Git Advanced: Monorepo, Submodules & Workflows dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Git Advanced: Monorepo, Submodules & Workflows?
Tidak diperlukan pengalaman sebelumnya. Git Advanced: Monorepo, Submodules & Workflows di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Bisect: Menemukan Commit Bermasalah” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Git Advanced: Monorepo, Submodules & Workflows ini?
Ya. Setiap pelajaran Git Advanced: Monorepo, Submodules & Workflows menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Rebase Interaktif dan Perubahan Komit
- Menyimpan Sementara dan Memilih Komit
- Reflog untuk Pemulihan
- Bisect: Menemukan Commit Bermasalah