Aliran Kerja Profesional Git dan GitHub · Pelajaran

Memahami Git Hooks

Terokai jenis Git hooks yang berbeza dan titik pelaksanaannya dalam aliran kerja Git.

Pelajaran 1 daripada 412 langkah

Memahami Git Hooks ialah pelajaran Aliran Kerja Profesional Git dan GitHub percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Aliran Kerja Profesional Git dan GitHub, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Aliran Kerja Profesional Git dan GitHub 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 0

Menjadikan 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-commit dan pre-receive boleh menguatkuasakan dasar dengan menyekat operasi.
  • Cangkuk seperti post-commit dan post-receive digunakan untuk pemberitahuan atau penyepaduan selepas tindakan.

Seterusnya, kita akan mendalami pelaksanaan contoh praktikal cangkuk tertentu!

Percuma untuk bermula

Pelajari Aliran Kerja Profesional Git dan GitHub 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
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Memahami Git Hooks” percuma?

Ya — teks penuh “Memahami Git Hooks” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Aliran Kerja Profesional Git dan GitHub, tingkat taraf kepada CoddyKit PRO. Kursus Aliran Kerja Profesional Git dan GitHub 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 Aliran Kerja Profesional Git dan GitHub 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 Aliran Kerja Profesional Git dan GitHub?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Aliran Kerja Profesional Git dan GitHub 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 Aliran Kerja Profesional Git dan GitHub ini?

Ya. Setiap pelajaran Aliran Kerja Profesional Git dan GitHub 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

  1. Memahami Git Hooks
  2. Git Hooks Pra-komit & Pasca-penggabungan
  3. Menyesuaikan Konfigurasi Git
  4. Berkongsi Hook dengan Husky
← Kembali ke Aliran Kerja Profesional Git dan GitHub