git
Catatan teknis seputar web development, DevOps, dan integrasi AI.
31 artikel
- 15.33devops
Tiga Commit Merah yang Tidak Boleh Ditulis Ulang
Checker gate baru menandai tiga commit index lama karena tak punya trailer Task. Menulis ulang sejarah bukan jawabannya; grandfather by record adalah jalan ketiga.
TL;DR: Commit lama kena FAIL gara-gara aturan baru minta trailer Task:, padahal commitnya lahir sebelum aturan itu ada. Rewrite sejarah bukan solusi, karena ubah satu commit bikin semua hash setelahnya ikut berubah dan merusak CI, cache, dll. Jadi aturannya grandfather by record: tiga hash itu dicatat sebagai pengecualian lengkap dengan alasannya, dan trailer ditegakkan cuma buat commit ke depan.
#git#hooks#commit-convention - 19.51devops
Memperbaiki Tautan Bukti Setelah Penulisan Ulang Riwayat Git
Hash commit berubah massal saat riwayat git ditulis ulang. Remap referensi Bukti lewat commit-map, termasuk penanganan hash nol.
TL;DR: Jadi gini, pas riwayat repo dibersihin, hash commit ikut berubah semua, bukan cuma yang ada datanya. Hash lama di kolom Bukti jadi mati, tapi tenang, file commit-map nyimpen pemetaan lama ke baru. Pelajarannya: jangan simpen hash mentah buat jangka panjang, mending pakai tag atau branch per isu.
#git#git-filter-repo#commit-map - 05.30security
Jaringan Keamanan Mekanis yang Dirancang untuk Diam
Hook rahasia yang membedakan temuan dari error, CI yang mengumpulkan temuan tanpa merahkan build, dan ZAP mingguan yang skip dengan rapi.
TL;DR: Hook gitleaks suka bikin commit gagal cuma gara-gara error lingkungan, bukan bocoran beneran. Solusinya: blokir cuma kalau exit 1 plus laporan JSON valid, sisanya cukup peringatan. CI dan ZAP mingguan juga kalem, cuma ngumpulin temuan buat direview, nggak asal bikin build merah tanpa bukti nyata.
#security#gitleaks#github-actions - 04.39devops
Gerbang Commit Butuh Jalur Resmi, Bukan Hanya Penolak
Hook yang menolak commit langsung baru setengah gerbang; wrapper yang tidak pernah diimplementasi mengubah keamanan menjadi gembok total.
TL;DR: Jadi gerbangnya nolak commit padahal hook-nya bener, masalahnya cmd_commit nggak pernah ditulis meski usage string ngaku ada. Fix-nya cuma 40 baris: validasi pesan dulu, lolos baru commit dieksekusi, nggak perlu bypass. Selftest kasus 19 mastiin penolakan bersih, commit pas, dan nggak dobel.
#git-hooks#coding-agent#bash - 04.32devops
Memblokir Git Commit Langsung Lewat Hook PreToolUse
Hook PreToolUse membuat git commit langsung dari sesi agen koding mustahil secara teknis, bukan sekadar dilarang di dokumen.
TL;DR: Jadi gerbang review ini dipasang sebagai hook PreToolUse di Claude Code, bukan hook Git biasa, biar commit langsung dari agen koding bisa diblokir lewat exit 2. Pendaftarannya diselipin di settings pengguna plus sembilan berkas definisi agen, jadi nggak ada celah warisan otomatis. Ujinya udah ditolak dua kali bare, bukti fail-closed-nya works.
#git-hooks#coding-agent#keamanan-proses - 03.45tooling
Auditor Pakai Penggaris yang Sama dengan Gerbang
Laporan audit menuduh delapan commit dokumen tanpa trailer; semuanya false positive. Satu baris filter menyelaraskan kebijakan auditor dengan gerbang.
TL;DR: Laporan audit nandain 19 commit tanpa trailer Security-review, tapi 8 di antaranya cuma file QA atau screenshot yang emang dikecualikan gerbang commit. Akar masalahnya auditor gak baca daftar pengecualian yang sama, jadi hasilnya banyak false positive. Fixnya cuma satu baris filter git show, dan tes nomor 18 jadi hijau semua.
#git#bash#testing - 03.42security
Audit yang Hanya Membaca: Setengah Gerbang yang Sering Hilang
Gerbang commit menolak pesan tanpa trailer dalam sekejap, tapi konfigurasi di baliknya bisa drift diam-diam. Sapuan audit baca-saja menutup celah itu.
TL;DR: Gates commit di KotaPortal nolak kode tanpa trailer Security-review, tapi hook-nya bisa lepas diam-diam gara-gara bit executable ilang atau core.hooksPath pindah. Solusinya subkomando audit di review_gate.sh yang nyapu empat jalur, selalu exit 0, dan ngecek registrasi hook biar nggak dianggap pipeline gagal. Gerbang itu pencegah, audit itu detektif; yang ngawasin gerbang ya gerbang kedua ini.
#git#bash#security - 00.54tooling
Indeks yang diperintah sinkron: lint DONE-INDEX
Papan bilang Done, indeks tidak punya hash-nya, dan tidak ada yang protes. Perbaikannya menghapus salinan tangan.
TL;DR: Kartu Done sering nunjukin hash yang nggak ada di indeks commit karena indeksnya digambar tangan dan cuma snapshot sekali. Masalahnya bukan lalai, tapi arsitektur: dokumen yang diisi manual pasti melenceng dari kenyataan. Solusinya indeks diregenerasi otomatis dari git log plus lint yang nolak kartu Done tanpa jejak, jadi statusnya bisa diverifikasi mesin.
#git#linting#documentation - 14.42tooling
Dua Taraf Hukum Hook Commit di Proyek KotaPortal
Hook commit KotaPortal memisahkan dua taraf hukum: penanda uji yang salah blok keras, permukaan berisiko hanya dapat peringatan plus jejak audit.
TL;DR: review_gate.sh punya dua tingkat: soal kata kunci kayak karakterisasi langsung diblokir, tapi area berisiko kayak autentikasi atau migrasi cuma kasih peringatan. Dua tingkat biar keamanan tetap jalan tanpa ngelambatin kerja tim. Soalnya hook bisa dilewati kok, jadi tujuannya bukan tembok tapi rambu jelas.
#git#git-hooks#security