EN: Read in English
Dunia 10: Git Mendalam
Hook
Anda akan belajar: cara Git jalankan semakan anda sendiri sebelum commit, dan cara kongsinya.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Anda asyik commit (titik simpan) dengan console.log yang tertinggal. Rakan sepasukan mengeluh. Boleh Git halang anda sebelum commit?
Pilih satu jawapan.
Tengok
hook: Skrip yang Git jalankan sendiri pada saat tertentu, contohnya sejurus sebelum commit. (cangkuk) ialah skrip yang Git jalankan sendiri pada saat tertentu. Hook tinggal dalam .git/hooks. Ketik setiap saat.
Ketik setiap titik pada garis masa.
Tengok
Hook mesti boleh dilaksanakan: chmod +x. Kalau ia tamat dengan exit 1, Git hentikan commit. exit 0 benarkan ia lalu.
Cuba
Susun kitaran hidup hook pre-commit.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Hook keluar dengan 0, jadi commit dibuat
- Tulis skrip dalam .git/hooks/pre-commit
- Jadikan ia boleh dilaksanakan dengan chmod +x
- Jalankan git commit
- Git jalankan hook dulu
Tengok
Hook commit-msg semak mesej. Git beri fail mesej kepadanya sebagai $1. Di sini, “stuff” tak lepas.
Teka
Anda tambah hook dalam .git/hooks. Mei clone repo itu. Adakah hook itu berjalan dalam komputernya?
Pilih satu jawapan.
Semak
Tabiat baik, atau perlu dibaiki? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Pastikan hook laju
Anda berjaya!
Kini anda boleh suruh Git semak kerja anda sebelum setiap commit.
Nak tahu lebih (pilihan)
Repo baru dapat contoh hook dalam .git/hooks, yang berakhir dengan .sample. Buang hujung itu untuk mencuba. Hook boleh ditulis dalam apa-apa bahasa: baris pertama namakannya. git commit --no-verify langkau pre-commit dan commit-msg. git hook run pre-commit jalankan hook secara manual.
English
You keep committing with console.log left in. Your teammates sigh. Can Git stop you before the commit?
A hook is a script that Git runs at a set moment. Hooks live in .git/hooks. Tap each moment.
A hook must be executable: chmod +x. If it ends with exit 1, Git stops the commit. exit 0 lets it through.
Put the life of a pre-commit hook in order.
A commit-msg hook checks the message. Git hands it the message file as $1. Here, “stuff” does not get in.
You add a hook in .git/hooks. Mei clones the repo. Does the hook run on her computer?
To share hooks, commit them in a folder like .githooks. Each person then sets core.hooksPath. Read the hook, then set it.
cat .githooks/pre-commit. Then git config core.hooksPath .githooks.Good habit, or needs work? Swipe each one.
You can now make Git check your work before every commit.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: githooks · git config (core.hooksPath) · git commit (--no-verify)
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?