Latihan 1 dari materi Git Hooks di Git — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Repo-nya sudah punya satu commit, chore: initial setup, dan hook pre-commit dari materi sudah terpasang di .git/hooks/ (sudah chmod +x). Hook itu menolak commit selama app.js masih berisi console.log. Di folder, app.js sudah kamu ubah: function-nya diekspor, tapi ada console.log sisa debugging.
Baca hook-nya: cat .git/hooks/pre-commit.
Coba commit: git add app.js, lalu git commit -m "feat: ekspor function total". Hook-nya mencetak pre-commit: app.js masih berisi console.log, hapus dulu, dan commit-nya batal: git log --oneline masih satu baris.
Buang console.log-nya. Di terminal ini, ketik edit app.js export function total(a, b) { return a + b } (perintah edit <file> <isi baru> mengganti seluruh isi file).
Commit lagi: git add app.js, lalu git commit -m "feat: ekspor function total". Kali ini hook-nya mencetak pre-commit: aman, dan commit-nya jadi.
Jangan pakai --no-verify: itu melewati hook, dan console.log-nya ikut ter-commit.
Yang dicek:
main punya tepat 2 commit,
pesan commit terakhir di main mengandung feat: ekspor function total,
app.js berisi persis export function total(a, b) { return a + b },
working directory bersih.
Hint
Hook pre-commit jalan tiap kali kamu git commit, sebelum commit dibuat. Selama app.js masih berisi console.log, hook-nya keluar dengan exit 1 dan commit-nya batal.
Urutannya: coba commit dan lihat hook-nya menolak, buang console.log dengan perintah edit, lalu git add app.js dan commit lagi dengan pesan feat: ekspor function total.
cat .git/hooks/pre-commit, git add app.js, git commit -m "feat: ekspor function total" (ditolak), edit app.js export function total(a, b) { return a + b }, git add app.js, git commit -m "feat: ekspor function total"
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...