Hook Pra-commit & Pascamerge
Terapkan contoh praktis hook pra-commit untuk pemeriksaan gaya kode dan hook pascamerge untuk pemberitahuan.
Hook Pra-commit & Pascamerge adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Pengantar Kait Git Praktis
Pada pelajaran sebelumnya, kita mempelajari kait Git dan berbagai jenisnya. Sekarang, mari kita praktikkan!
Kita akan membahas penerapan dua kait yang sangat bermanfaat: pre-commit dan post-merge. Keduanya memungkinkan Anda mengotomatiskan pemeriksaan sebelum komit dan tindakan setelah penggabungan.
Pre-commit: Gerbang Kualitas Anda
Kait pre-commit dijalankan sebelum operasi komit, tetapi setelah Anda menggunakan git add untuk menyiapkan perubahan.
- Kait ini sangat cocok untuk menerapkan kualitas dan gaya kode.
- Anda dapat menggunakannya untuk menjalankan pemeriksa sintaks, pemeriksa gaya, atau bahkan pengujian unit dasar.
- Jika skrip keluar dengan status selain nol, komit akan dibatalkan secara otomatis.
Dengan demikian, hanya kode berkualitas tinggi yang sesuai ketentuan yang masuk ke repositori Anda.
Menyiapkan Kait Pre-commit
Untuk membuat kait pre-commit, Anda perlu membuat berkas yang dapat dieksekusi bernama pre-commit di dalam direktori .git/hooks/ proyek Anda.
Git menyediakan contoh kait dengan ekstensi .sample. Hapus ekstensi tersebut dan tambahkan skrip khusus Anda.
Ingatlah untuk membuat berkas dapat dieksekusi menggunakan: chmod +x .git/hooks/pre-commit
Contoh: Mencegah Komit 'TODO'
Mari kita buat kait pre-commit sederhana yang mencegah Anda melakukan komit terhadap berkas yang masih memuat kata "TODO". Ini merupakan praktik umum untuk memastikan tidak ada tugas yang belum selesai masuk ke basis kode Anda.
Skrip ini akan memeriksa semua berkas yang telah disiapkan untuk mencari kata kunci tersebut. Jika ditemukan, skrip akan menghentikan komit.
Kait Pre-commit: Tanpa TODO!
Berikut skrip shell sederhana untuk berkas .git/hooks/pre-commit Anda. Skrip ini memeriksa kata "TODO" dalam berkas .txt yang telah disiapkan.
Langkah-langkah:
- Buat
.git/hooks/pre-commit - Tempelkan kode ini
- 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 0Menguji Kait Pre-commit
Untuk menguji kait ini, buat terlebih dahulu sebuah berkas (misalnya, test.txt) dan tambahkan "TODO: Finish this" ke dalamnya. Kemudian, coba lakukan komit:
git add test.txtgit commit -m "Add test file"
Komit tersebut seharusnya dibatalkan, dan Anda akan melihat pesan kesalahan dari kait Anda. Hapus "TODO" dari test.txt, lalu komit akan berhasil!
Post-merge: Mengotomatiskan Setelah Penggabungan
Kait post-merge dijalankan secara otomatis setelah perintah git merge selesai dengan sukses.
- Kait ini berguna untuk tugas integrasi yang harus dilakukan setelah kode digabungkan.
- Contohnya mencakup memberi tahu anggota tim, memperbarui dependensi proyek (misalnya,
npm install), atau menjalankan skrip build. - Berbeda dari pre-commit, kait ini tidak memengaruhi hasil penggabungan.
Kait ini merupakan cara yang bagus untuk mengotomatiskan proses setelah penggabungan.
Menyiapkan Kait Post-merge
Serupa dengan pre-commit, Anda membuat berkas bernama post-merge di dalam direktori .git/hooks/.
Pastikan lagi berkas tersebut dapat dieksekusi:
chmod +x .git/hooks/post-merge
Skrip ini kemudian akan dijalankan setiap kali penggabungan selesai di repositori Anda.
Contoh: Pemberitahuan Penyelesaian Penggabungan
Mari kita buat kait post-merge yang cukup mencetak pesan ke konsol untuk mengonfirmasi bahwa penggabungan baru saja terjadi. Dalam situasi nyata, kait ini dapat memicu alur CI/CD atau mengirim pemberitahuan ke aplikasi percakapan.
Kait Post-merge: Pemberitahuan
Berikut skrip shell sederhana untuk berkas .git/hooks/post-merge Anda. Skrip ini mencetak pesan konfirmasi.
Langkah-langkah:
- Buat
.git/hooks/post-merge - Tempelkan kode ini
- 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 0Pemeriksaan Kait: Pre-commit vs. Post-merge
Tugas manakah berikut ini yang biasanya ditangani oleh kait pre-commit?
Rangkuman: Kait Beraksi
Bagus sekali! Dalam pelajaran ini, Anda telah mempelajari cara menerapkan kait Git secara praktis.
- Kait pre-commit bertindak sebagai gerbang kualitas dengan menjalankan pemeriksaan seperti pemeriksaan sintaks atau pengujian *sebelum* komit.
- Kait post-merge mengotomatiskan tindakan *setelah* penggabungan, seperti pemberitahuan atau pembaruan dependensi.
Kait ini merupakan alat yang bermanfaat untuk menerapkan standar dan mengotomatiskan alur kerja di repositori Git Anda. Teruslah menjelajahi jenis kait lainnya untuk menyesuaikan pengalaman Git Anda lebih lanjut!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Hook Pra-commit & Pascamerge” gratis?
Ya — teks lengkap “Hook Pra-commit & Pascamerge” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Hook Pra-commit & Pascamerge”?
Terapkan contoh praktis hook pra-commit untuk pemeriksaan gaya kode dan hook pascamerge untuk pemberitahuan. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Hook Pra-commit & Pascamerge” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memahami Git Hooks
- Hook Pra-commit & Pascamerge
- Menyesuaikan Konfigurasi Git
- Membagikan Hook dengan Husky