Aliran Kerja Profesional Git dan GitHub · Pelajaran

Git Hooks Pra-komit & Pasca-penggabungan

Laksanakan contoh praktikal Git hooks pra-komit untuk pemeriksaan gaya kod dan hooks pasca-penggabungan untuk pemberitahuan.

Pelajaran 2 daripada 412 langkah

Git Hooks Pra-komit & Pasca-penggabungan ialah pelajaran Aliran Kerja Profesional Git dan GitHub percuma di CoddyKit. Ini ialah pelajaran 2 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.

Pengenalan Praktikal kepada Cangkuk Git

Dalam pelajaran sebelumnya, kita telah mempelajari tentang cangkuk Git dan jenis-jenisnya. Sekarang, mari kita praktikkan!

Kita akan mendalami pelaksanaan dua cangkuk yang berkuasa: sebelum komit dan selepas cantuman. Cangkuk ini membolehkan anda mengautomatikkan pemeriksaan sebelum komit dan tindakan selepas cantuman.

Sebelum Komit: Gerbang Kualiti Anda

Cangkuk pre-commit dijalankan sebelum operasi komit, tetapi selepas anda menggunakan git add untuk menyediakan perubahan anda.

  • Cangkuk ini sesuai untuk menguatkuasakan kualiti dan gaya kod.
  • Anda boleh menggunakannya untuk menjalankan penganalisis kod, pemeriksa gaya, atau malah ujian unit asas.
  • Jika skrip keluar dengan status bukan sifar, komit akan dibatalkan secara automatik.

Ini memastikan hanya kod berkualiti tinggi yang mematuhi piawaian dimasukkan ke dalam repositori anda.

Menyediakan Cangkuk Sebelum Komit

Untuk mencipta cangkuk pre-commit, anda perlu mencipta fail boleh laku bernama pre-commit di dalam direktori .git/hooks/ projek anda.

Git menyediakan contoh cangkuk dengan sambungan .sample. Anda perlu membuang sambungan itu dan menambahkan skrip tersuai anda.

Ingat untuk menjadikan fail itu boleh dilaksanakan menggunakan: chmod +x .git/hooks/pre-commit

Contoh: Menghalang Komit 'TODO'

Mari cipta cangkuk pre-commit ringkas yang menghalang anda daripada membuat komit bagi fail yang masih mengandungi perkataan "TODO". Ini amalan biasa untuk memastikan tugasan yang belum selesai tidak terlepas masuk ke dalam pangkalan kod anda.

Skrip ini akan memeriksa semua fail yang telah disediakan untuk kata kunci tersebut. Jika ditemui, skrip akan menghentikan komit.

Cangkuk Sebelum Komit: Tiada TODO!

Berikut ialah skrip shell ringkas untuk fail .git/hooks/pre-commit anda. Skrip ini memeriksa fail .txt yang telah disediakan untuk perkataan "TODO".

Langkah:

  1. Cipta .git/hooks/pre-commit
  2. Tampal kod ini
  3. Jalankan chmod +x .git/hooks/pre-commit
#!/bin/sh

# Check staged .txt files for "TODO"
for file in $(git diff --cached --name-only --diff-filter=ACM | grep '\.txt$'); do
  if grep -q "TODO" "$file"; then
    echo "ERROR: Found 'TODO' in staged file: $file"
    echo "Please remove TODOs before committing."
    exit 1
  fi
done

exit 0

Menguji Cangkuk Sebelum Komit Anda

Untuk menguji cangkuk ini, mula-mula cipta satu fail (contohnya, test.txt) dan tambahkan "TODO: Finish this" padanya. Kemudian, cuba buat komit:

git add test.txt
git commit -m "Add test file"

Komit sepatutnya dibatalkan dan anda akan melihat mesej ralat daripada cangkuk anda. Buang "TODO" daripada test.txt, dan komit akan berjaya!

Selepas Cantuman: Mengautomatikkan Tindakan Selepas Cantuman

Cangkuk post-merge dijalankan secara automatik selepas perintah git merge selesai dengan jayanya.

  • Cangkuk ini berguna untuk tugasan penyepaduan yang perlu dilakukan selepas kod digabungkan.
  • Contohnya termasuk memberitahu ahli pasukan, mengemas kini kebergantungan projek (contohnya, npm install), atau menjalankan skrip binaan.
  • Tidak seperti cangkuk sebelum komit, cangkuk ini tidak mempengaruhi hasil cantuman.

Cangkuk ini ialah cara yang baik untuk mengautomatikkan proses selepas cantuman.

Menyediakan Cangkuk Selepas Cantuman

Sama seperti pre-commit, anda mencipta fail bernama post-merge di dalam direktori .git/hooks/ anda.

Sekali lagi, pastikan fail itu boleh dilaksanakan:

chmod +x .git/hooks/post-merge

Skrip ini kemudiannya akan dijalankan setiap kali cantuman selesai dalam repositori anda.

Contoh: Makluman Cantuman Selesai

Mari cipta cangkuk post-merge yang hanya mencetak mesej pada konsol untuk mengesahkan bahawa cantuman baru sahaja berlaku. Dalam situasi sebenar, cangkuk ini boleh mencetuskan aliran kerja CI/CD atau menghantar pemberitahuan kepada aplikasi sembang.

Cangkuk Selepas Cantuman: Pemberitahuan

Berikut ialah skrip shell ringkas untuk fail .git/hooks/post-merge anda. Skrip ini mencetak mesej pengesahan.

Langkah:

  1. Cipta .git/hooks/post-merge
  2. Tampal kod ini
  3. Jalankan chmod +x .git/hooks/post-merge
#!/bin/sh

# This hook runs after a merge operation.
echo "--- Post-merge hook triggered ---"
echo "A merge has just completed in your repository."
echo "You might want to run 'npm install' or 'bundle install' now."
echo "---------------------------------"

exit 0

Semakan Cangkuk: Sebelum Komit berbanding Selepas Cantuman

Antara tugasan berikut, yang manakah biasanya dikendalikan oleh cangkuk sebelum komit?

Imbas Kembali: Cangkuk dalam Tindakan

Syabas! Dalam pelajaran ini, anda telah mempelajari cara melaksanakan cangkuk Git secara praktikal.

  • Cangkuk sebelum komit bertindak sebagai gerbang kualiti dengan menjalankan pemeriksaan seperti analisis kod atau ujian *sebelum* komit.
  • Cangkuk selepas cantuman mengautomatikkan tindakan *selepas* cantuman, seperti pemberitahuan atau kemas kini kebergantungan.

Cangkuk ini ialah alat yang berkuasa untuk menguatkuasakan piawaian dan mengautomatikkan aliran kerja dalam repositori Git anda. Teruskan meneroka jenis cangkuk lain untuk menyesuaikan lagi pengalaman Git anda!

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 “Git Hooks Pra-komit & Pasca-penggabungan” percuma?

Ya — teks penuh “Git Hooks Pra-komit & Pasca-penggabungan” 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 “Git Hooks Pra-komit & Pasca-penggabungan”?

Laksanakan contoh praktikal Git hooks pra-komit untuk pemeriksaan gaya kod dan hooks pasca-penggabungan untuk pemberitahuan. 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 2 daripada 4.

Berapa lamakah pelajaran “Git Hooks Pra-komit & Pasca-penggabungan” 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