Repository ini berisi panduan lengkap dan praktis mengenai workflow Git, konvensi penamaan branch, commit message, code review, serta otomatisasi pengembangan perangkat lunak untuk tim pengembang.
Dokumentasi ini dirancang agar mudah diikuti oleh seluruh anggota tim, baik untuk onboarding maupun menjaga konsistensi proses pengembangan.
- Penjelasan berbagai workflow Git (Git Flow, GitHub Flow, Trunk-based)
- Konvensi penamaan branch yang konsisten dan mudah dilacak
- Standar penulisan commit message dengan Conventional Commit
- Best practice Pull Request & code review
- Otomatisasi linting, unit test, dan code review di CI/CD
- Tips penggunaan tools seperti CODEOWNERS, commitlint, dan integrasi dengan VS Code
- Membantu tim menjaga kualitas, keamanan, dan keterlacakan kode
- Memudahkan kolaborasi dan review antar anggota tim
- Mendukung otomatisasi proses release dan dokumentasi perubahan
Panduan ini cocok untuk:
- Team lead, developer, dan QA di perusahaan software
- Tim yang ingin meningkatkan standar kolaborasi dan kualitas kode
- Siapa saja yang ingin mengadopsi workflow modern dan best practice dalam pengembangan perangkat lunak
- 🔁 Strategi Branching dan Workflow
- 🔹 Naming Convention
- ✅ Commit Message
- ✅ Code Review & Pull Request
- 🔖 Versioning & Release
- 🐛 Issue, Bug, dan Hotfix Management
- 🧠 Advanced Git Usage
Silakan fork, gunakan, dan modifikasi sesuai kebutuhan tim Anda!
- Git Flow: Cocok untuk release teratur dan tim besar
- GitHub Flow: Cocok untuk CI/CD dan rilis cepat
- Trunk-based: Cocok untuk tim kecil/agile dan eksperimen cepat
feature/<fitur>bugfix/<id-issue>hotfix/<patch-critical>release/<versi>
- Hindari commit langsung ke
main - Merge dilakukan via Pull Request (PR)
- Hapus branch setelah merge untuk menjaga kebersihan
Commit message yang baik sangat penting untuk memudahkan tracking perubahan, kolaborasi, dan proses review. Gunakan format Conventional Commit agar konsisten dan mudah dipahami.
Format dasar:
<type>: <deskripsi singkat>
-
Deskriptif dan berisi konteks perubahan
-
Hubungkan ke issue dengan
Fixes #123 -
Tambahkan checklist:
- [ ] Sudah test lokal - [ ] Lolos lint dan unit test - [ ] Sudah di-review rekan
- Beri komentar jelas dan actionable
- Batasi jumlah file/line dalam PR besar
- Gunakan
CODEOWNERS - Setup branch protection rule
- Format:
MAJOR.MINOR.PATCH - Contoh:
v2.1.0
- Merge PR ke
main - Buat tag:
git tag v1.2.3 - Push tag:
git push origin v1.2.3 - CI/CD otomatis deploy dari tag
- Buat branch
hotfix/x.y.z - Fix → commit → PR ke
maindandevelop - Tag dan deploy segera
- Buat issue dengan label (
bug,enhancement,urgent) - Buat branch
bugfix/<id> - Commit dengan
Fixes #<id> - Merge PR → otomatis menutup issue
- Langkah reproduksi
- Log yang muncul
- Versi aplikasi saat bug terjadi
git rebase– linearisasi commitgit cherry-pick– ambil commit spesifikgit bisect– cari commit penyebab buggit blame– lihat siapa mengubah barisgit reset/revert– undo perubahan- Gunakan
--force-with-leasejika perluforce push
- Gunakan
git submoduleatausubtreeuntuk struktur repo modular
- Hapus branch lama secara rutin
- Gunakan
git gcataugit filter-repountuk bersih-bersih riwayat besar
pre-commit: lint dan format otomatiscommit-msg: enforce format commit (conventional commit)- Tools: Husky, Commitlint
Panduan ini bisa kamu sesuaikan dengan kebutuhan tim dan tools (GitHub, GitLab, Bitbucket). Jika butuh versi PDF atau dokumentasi Notion, tinggal konversi markdown ini. 🚀