Memahami Git Hooks
Terokai jenis Git hooks yang berbeza dan titik pelaksanaannya dalam aliran kerja Git.
Memahami Git Hooks ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah Cangkuk Git?
Selamat datang ke Cangkuk Git! Cangkuk Git ialah skrip yang berkuasa dan boleh disesuaikan, yang dilaksanakan oleh Git secara automatik sebelum atau selepas peristiwa seperti membuat serahan, menghantar, atau menerima serahan yang dihantar.
Anggaplah cangkuk ini sebagai titik semak atau tindakan automatik dalam aliran kerja Git anda. Cangkuk membantu menguatkuasakan piawaian projek, mengautomasikan tugasan, dan berintegrasi dengan sistem lain.
Tempat Cangkuk Berada
Setiap repositori Git disertakan dengan direktori .git/hooks. Di dalamnya, anda akan menemukan skrip cangkuk contoh (biasanya berakhir dengan .sample).
Untuk mengaktifkan cangkuk, buang sambungan .sample dan jadikan fail itu boleh dilaksanakan. Git kemudiannya akan menjalankannya pada masa yang sesuai.
- Lokasi:
.git/hooks/ - Fail: Skrip Shell (Bash, Python, Ruby, dll.)
- Pengaktifan: Namakan semula dan jadikan boleh dilaksanakan
Bahagian Klien lwn. Bahagian Pelayan
Cangkuk Git dikategorikan kepada dua jenis utama berdasarkan tempat cangkuk itu dijalankan:
- Cangkuk Bahagian Klien: Dijalankan pada mesin setempat anda (contohnya, sebelum anda membuat serahan atau rebase). Cangkuk ini digunakan untuk pengautomatan aliran kerja peribadi dan penguatkuasaan dasar setempat.
- Cangkuk Bahagian Pelayan: Dijalankan pada pelayan Git jauh (contohnya, apabila anda menghantar kod ke repositori yang dikongsi). Cangkuk ini menguatkuasakan dasar seluruh projek untuk semua orang.
Cangkuk Klien: pre-commit
Cangkuk pre-commit ialah salah satu cangkuk bahagian klien yang paling biasa. Cangkuk ini dijalankan *sebelum* Git mencipta serahan secara rasmi.
Jika skrip pre-commit keluar dengan status bukan sifar, Git membatalkan serahan. Cangkuk ini sesuai untuk tugasan seperti:
- Memeriksa gaya kod (menyemak ralat gaya)
- Menjalankan ujian unit
- Menyemak fail besar atau data sensitif
Cangkuk Klien: commit-msg
Cangkuk commit-msg dijalankan *selepas* anda memasukkan mesej serahan tetapi *sebelum* serahan dimuktamadkan.
Cangkuk ini berguna untuk memastikan mesej serahan anda mematuhi konvensyen atau format tertentu. Contohnya, cangkuk ini boleh menyemak sama ada:
- Mesej bermula dengan ID tiket (contohnya,
[JIRA-123]) - Panjang mesej berada dalam had
- Kata kunci tertentu hadir atau tiada
Cangkuk Klien: post-commit
Cangkuk post-commit dijalankan *sejurus selepas* serahan berjaya dicipta.
Tidak seperti pre-commit atau commit-msg, cangkuk ini tidak boleh mengubah hasil serahan. Cangkuk ini sering digunakan untuk tujuan pemberitahuan atau integrasi, seperti:
- Memaklumkan ahli pasukan
- Mengemas kini alat pengurusan projek
- Memulakan binaan integrasi berterusan (CI) (walaupun ini lebih biasa dilakukan dengan cangkuk bahagian pelayan)
Cangkuk Pelayan: pre-receive
Beralih kepada cangkuk pada bahagian pelayan, pre-receive dilaksanakan *sebelum* sebarang rujukan (seperti cabang atau tag) dikemas kini pada repositori jauh.
Cangkuk ini berkuasa untuk menguatkuasakan dasar repositori yang penting, seperti:
- Menghalang tolakan terus ke cabang
main - Memastikan semua komit ditandatangani
- Mengesahkan identiti pembuat komit
Jika cangkuk ini keluar dengan kod bukan sifar, keseluruhan tolakan akan ditolak.
Cangkuk Pelayan: post-receive
Cangkuk post-receive dijalankan *selepas* tolakan berjaya mengemas kini rujukan pada repositori jauh.
Sama seperti post-commit, cangkuk ini tidak boleh menolak tolakan. Cangkuk ini biasanya digunakan untuk:
- Mencetuskan aliran kerja CI/CD
- Mengemas kini penjejak isu luaran
- Menghantar pemberitahuan e-mel kepada pasukan
- Melancarkan kod ke persekitaran pementasan
Mencipta Cangkuk Ringkas
Untuk mencipta cangkuk, anda hanya perlu mencipta fail dengan nama cangkuk tersebut (contohnya, pre-commit) dalam direktori .git/hooks/ anda. Mari cipta cangkuk yang sangat asas:
#!/bin/sh
# This pre-commit hook will always succeed
echo "Running pre-commit hook..."
exit 0Menjadikan Cangkuk Boleh Dilaksanakan
Selepas mencipta skrip cangkuk anda, anda mesti menjadikannya boleh dilaksanakan. Git tidak akan menjalankannya jika tidak. Gunakan perintah chmod dalam terminal anda:
chmod +x .git/hooks/pre-commit
Kini, setiap kali anda cuba membuat komit, Git akan melaksanakan skrip ini!
Semakan Pantas: Masa Cangkuk
Cangkuk Git dijalankan pada titik tertentu dalam aliran kerja anda. Memahami masanya penting untuk menggunakannya dengan berkesan.
Imbas Kembali: Memahami Cangkuk Git
Anda telah mengambil langkah pertama ke dalam dunia cangkuk Git yang berkuasa!
- Cangkuk Git ialah skrip yang mengautomatikkan tindakan semasa peristiwa Git.
- Cangkuk ini berada dalam direktori
.git/hooks/repositori anda. - Cangkuk terbahagi kepada bahagian klien (mesin tempatan) atau bahagian pelayan (repositori jauh).
- Cangkuk utama seperti
pre-commitdanpre-receiveboleh menguatkuasakan dasar dengan menyekat operasi. - Cangkuk seperti
post-commitdanpost-receivedigunakan untuk pemberitahuan atau penyepaduan selepas tindakan.
Seterusnya, kita akan mendalami pelaksanaan contoh praktikal cangkuk tertentu!
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Memahami Git Hooks” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Memahami Git Hooks”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memahami Git Hooks”?
Terokai jenis Git hooks yang berbeza dan titik pelaksanaannya dalam aliran kerja Git. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Memahami Git Hooks” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Memahami Git Hooks
- Git Hooks Pra-komit & Pasca-penggabungan
- Menyesuaikan Konfigurasi Git
- Berkongsi Hook dengan Husky