Untuk menstandarkan format commit pengembang, Codeup menyediakan layanan pemeriksaan yang memvalidasi commit menggunakan aturan push kustom. Topik ini menjelaskan cara membuat aturan push dan dampaknya ketika dipicu.
Buat aturan push
-
Sebagai administrator repositori, klik Settings di pojok kiri bawah, lalu navigasikan ke Push Rule Settings.

-
Klik Create Push Rule, lalu konfigurasikan parameter aturan tersebut.
Pada kotak dialog Create Push Rule, konfigurasikan parameter berikut: Commit Message (ekspresi reguler yang harus sesuai dengan pesan commit, misalnya
^fix #[A-Z]+\-[0-9]+), Committer Email (ekspresi reguler yang harus sesuai dengan email committer, misalnya@example\.com$), dan Restricted Files (mencegah push file yang namanya sesuai dengan ekspresi reguler; beberapa aturan dapat ditambahkan, dipisahkan dengan baris baru). Anda juga dapat memilih opsi Prevent force push dan Code owner check. Aturan pemeriksaan dapat diterapkan padaauthorataucommitter. Tingkat pembatasan dapat diatur ke Block Push atau Warn but Allow Push. Setelah selesai, klik OK.
PentingAturan push berlaku untuk semua branch dalam repositori.
-
Commit Message: Push hanya diizinkan jika pesan commit sesuai dengan ekspresi reguler yang ditentukan. Jika bidang ini kosong, semua pesan commit diizinkan.
-
Committer Email: Alamat email committer, yang dikonfigurasi dengan
git config, harus sesuai dengan ekspresi reguler yang ditentukan. Jika bidang ini kosong, semua alamat email diizinkan. -
Prevent force push: Force push menimpa kode remote dan dapat menyebabkan kehilangan permanen kode serta riwayat commit. Gunakan perintah ini dengan hati-hati. Jika Anda mencurigai bahwa force push telah menyebabkan kehilangan riwayat commit, Anda dapat memfilter event force push di feed Activity repositori untuk melacak operator dan melihat catatan
force push.Jika diaktifkan, opsi ini memblokir
git push -fjika branch lokal Anda telah menyimpang dari branch remote, sehingga mencegah kode di server ditimpa.CatatanJika Prevent force push diaktifkan tetapi branch lokal Anda belum menyimpang dari branch remote, penggunaan git push -f memiliki efek yang sama dengan
git push, dan push akan berhasil. -
Code owner check: Fitur Code owner check bergantung pada informasi pengguna Git yang telah Anda konfigurasikan.
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
Author dan committer
-
Git memungkinkan Anda menulis ulang riwayat atau melakukan commit atas nama orang lain. Untuk memastikan statistik kontribusi akurat, author commit harus sesuai dengan pengguna yang sedang login.
-
Committer biasanya tidak ditampilkan. Informasi ini hanya muncul saat Anda menggunakan perintah
git log --formattertentu (misalnya,format=fuller). Committer adalah orang yang menyelesaikan commit, berdasarkan pengaturangit config user.namedangit config user.emailpada saat commit. -
Saat menggunakan perintah
git commit, Anda dapat menggunakan parameterauthoruntuk menentukan kontributor. Dalam proyek open-source, praktik umum adalah memberikan kredit kepada seseorang sebagai author meskipun Anda hanya mengadopsi idenya tanpa menggunakan kodenya secara langsung. Untuk commit awal, author dan committer biasanya sama. Namun, saat Anda menulis ulang riwayat commit dengan perintah sepertigit cherry-pickataugit rebase, author tetap sama, tetapi committer menjadi orang yang melakukan operasi tersebut. Singkatnya, author adalah kontributor asli, sedangkan committer adalah orang yang menerapkan commit tersebut. -
Codeup dapat memeriksa alamat email author dan committer terhadap email utama terverifikasi milik pengguna yang sedang login. Hal ini memastikan atribusi kepemilikan yang akurat dan mencegah statistik kontribusi yang tidak akurat akibat ketidaksesuaian pengguna.
Di pojok kanan atas Alibaba Cloud DevOps, buka Personal Settings. Dari panel navigasi kiri, pilih Personal Information. Di bagian Email, Anda dapat melihat dan mengelola alamat email yang ditautkan. Codeup menggunakan alamat yang ditandai sebagai primary email untuk mencocokkan author atau committer. Untuk menambahkan alamat email baru, klik Bind Email dan selesaikan proses verifikasi.
Warisi aturan tingkat organisasi
Aturan yang diwarisi dari organisasi Anda bersifat read-only dan tidak dapat diedit atau dihapus di tingkat repositori. Untuk mengubah aturan ini, hubungi administrator organisasi Anda.
Pemeriksaan saat push
Pertimbangkan aturan dengan konfigurasi berikut: Aturan Pemeriksaan: Periksa Author; Tingkat Pembatasan: Warn but Allow Push.
Untuk aturan push ini, Commit Message diatur ke feature-*, Committer Email dibatasi ke @alibaba.com, Restricted Files kosong, dan Prevent force push diaktifkan.

Operasi UI
Jika pesan commit tidak sesuai dengan aturan, push ditolak dan muncul error Push rule check failed. Pesan tersebut menunjukkan bahwa pesan commit tidak sesuai dengan ekspresi reguler yang ditentukan (misalnya, feature-*) serta menampilkan ID commit yang ditolak.
Demikian pula, push ditolak jika email author tidak sesuai dengan aturan.
Pesan error merah, Push rule check failed, muncul di bagian atas halaman. Pesan ini menunjukkan bahwa email author tidak sesuai dengan ekspresi reguler yang ditentukan (misalnya, @alibaba.com) serta menampilkan ID commit yang ditolak.
Logika yang sama berlaku untuk merge request.