Peta dunia

 

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

git log --oneline senaraikan empat belas commit, dari Add order page hingga Update footer year. Output terminal: $ git log --oneline 0feda89 (HEAD -> main) Update footer year 51b7e6e Add closing day ea24e01 Add a footer 810fed2 Link the menu 7108bd9 Add phone number 7bb484d Clean up the form 387e919 Fix button colour 6187411 Add pickup time aabe367 Add halal note f0d9953 Reword the title 140a233 Add payment note eca4c56 Add a note box 9d62d7d Add a quantity box cc77188 Add order page

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.

  1. cc77188Add order pagegood
  2. 9d62d7dAdd a quantity boxmungkin
  3. eca4c56Add a note boxmungkin
  4. 140a233Add payment notemungkin
  5. f0d9953Reword the titlemungkin
  6. aabe367Add halal notemungkin
  7. 6187411Add pickup timemungkin
  8. 387e919Fix button colourmungkin
  9. 7bb484dClean up the formmungkin
  10. 7108bd9Add phone numbermungkin
  11. 810fed2Link the menumungkin
  12. ea24e01Add a footermungkin
  13. 51b7e6eAdd closing daymungkin
  14. 0feda89Update footer yearbad

Ujian digunakan: 0. Untuk 13 commit, bisect perlu paling banyak 4.

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.

cc771889d62d7deca4c56140a233f0d9953aabe3676187411387e9197bb484d7108bd9810fed2ea24e0151b7e6e0feda89

Semak

git blame -L 6,6 order.html tunjuk baris butang, kali terakhir diubah oleh commit 7bb484d1, Clean up the form. Output terminal: $ git blame -L 6,6 order.html 7bb484d (You 2026-10-30 09:09:00 +0800 6) <button disabled>Buy</button>

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.