EN: Read in English
Dunia 10: Git Mendalam · Cabaran bos
Detektif: cari commit pepijat
Anda akan belajar: cara jejak commit yang rosakkan satu laman, dengan bisect, ujian dan blame.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Kecemasan di Kedai Kancil! Butang Buy jadi kelabu. Tiada siapa boleh pesan kuih. Empat belas suspek. Cari commit (titik simpan) yang bersalah, detektif!
Cuba
Petunjuk anda ialah test.sh. Ia jalankan ! grep -q "disabled" order.html. Bila ujian itu lulus?
Pilih satu jawapan.
Cuba
Pusingan 1: soal siasat suspek. Jalankan ujian, kemudian tandakan setiap commit good atau bad.
Commit paling lama berfungsi. Yang terbaru rosak. Cari commit bad yang pertama.
Ujian: butang Buy dalam order.html tak boleh disabled.
cc77188Add order pagegood9d62d7dAdd a quantity boxmungkineca4c56Add a note boxmungkin140a233Add payment notemungkinf0d9953Reword the titlemungkinaabe367Add halal notemungkin6187411Add pickup timemungkin387e919Fix button colourmungkin7bb484dClean up the formmungkin7108bd9Add phone numbermungkin810fed2Link the menumungkinea24e01Add a footermungkin51b7e6eAdd closing daymungkin0feda89Update footer yearbad
Ujian digunakan: 0. Untuk 13 commit, bisect perlu paling banyak 4.
Petunjuk
Hati-hati: nama yang bunyi bersalah mungkin tak bersalah. Percaya pada ujian.Teka
“Fix button colour” bunyi macam bersalah. Betul ke?
Pilih satu jawapan.
Cuba
Pusingan 2: terminal sebenar. Mulakan bisect, biar test.sh menilai setiap langkah, kemudian balik ke main.
Petunjuk
git bisect start HEAD HEAD~13, kemudian git bisect run sh test.sh, kemudian git bisect reset.Semak
Semak semula bukti. git blame -L 6,6 namakan perubahan terakhir pada baris butang. Suspek yang sama!
Semak
Pesalah itu dah dikongsi dengan pasukan. Apa langkah anda seterusnya?
Pilih satu jawapan.
Anda berjaya!
Kini anda boleh jejak commit yang merosakkan sesuatu, macam detektif sebenar.
English
Emergency at Kedai Kancil! The Buy button is greyed out. Nobody can order kuih. Fourteen suspects. Find the guilty commit, detective!
Your clue is test.sh. It runs ! grep -q "disabled" order.html. When does the test pass?
Round 1: question the suspects. Run the test, then mark each commit good or bad.
“Fix button colour” sounds guilty. Was it?
Round 2: the real terminal. Start bisect, let test.sh judge every step, then go back to main.
git bisect start HEAD HEAD~13, then git bisect run sh test.sh, then git bisect reset.Double-check the evidence. git blame -L 6,6 names the last change to the button line. Same suspect!
The culprit is already shared with the team. What is your next move?
You can now find the commit that broke something, like a detective.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: git bisect · git blame · git log
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?