Kumpulan kebiasaan dan praktik terbaik yang membedakan penggunaan Git yang biasa-biasa saja dengan penggunaan yang profesional.
Satu commit = satu perubahan logis. Bukan satu file, bukan satu hari kerja.
# ❌ Buruk — terlalu banyak hal sekaligus
git commit -m "perbaiki bug, tambah fitur, update styling, refactor kode"
# ✅ Baik — satu hal per commit
git commit -m "Perbaiki bug kalkulasi diskon di keranjang"
git commit -m "Tambah validasi email di form registrasi"
git commit -m "Update warna tombol sesuai design system"
Manfaatnya:
git logIkuti konvensi Conventional Commits untuk konsistensi:
# Format: <type>: <deskripsi singkat>
feat: tambah fitur login dengan Google OAuth
fix: perbaiki crash saat upload gambar > 5MB
docs: tambah panduan instalasi di README
style: format ulang kode dengan Prettier
refactor: ekstrak logika validasi ke helper function
test: tambah unit test untuk CartService
chore: update dependensi ke versi terbaru
perf: optimasi query pencarian produk
Deskripsi yang baik:
# Rutinitas pagi yang baik:
git pull origin main
# Atau lebih aman dengan rebase:
git pull --rebase origin main
# Sebelum push branch fitur:
git fetch origin
git rebase origin/main
# File yang TIDAK BOLEH masuk repositori:
.env
*.pem
*.key
credentials.json
config/secrets.yml
# Jika terlanjur commit:
git rm --cached .env
echo ".env" >> .gitignore
git commit -m "Hapus file .env dari tracking"
# GANTI semua credential yang sudah ter-expose!
# Anggap credential tersebut sudah bocor.
# Setup alias Git yang berguna
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.sw switch
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --all --decorate"
git config --global alias.undo "reset HEAD~1 --mixed"
# Sekarang bisa pakai:
git st # git status
git sw main # git switch main
git lg # log grafis yang bagus
git undo # batalkan commit terakhir
# Buat tag untuk versi rilis
git tag v1.0.0
git tag -a v1.0.0 -m "Rilis versi 1.0.0 - Fitur awal"
# Lihat semua tag
git tag
# Push tag ke remote
git push origin v1.0.0
git push origin --tags # push semua tag
# Kembali ke versi tertentu
git checkout v1.0.0
# Hapus branch yang sudah di-merge
git branch -d feature/selesai
# Hapus semua branch lokal yang sudah di-merge ke main
git branch --merged main | grep -v 'main' | xargs git branch -d
# Bersihkan remote tracking branch yang sudah dihapus
git remote prune origin
git fetch --prune
git bisect melakukan binary search di commit history untuk menemukan commit mana yang pertama kali memperkenalkan bug:
# Mulai bisect
git bisect start
# Tandai commit saat ini sebagai "bermasalah"
git bisect bad
# Tandai commit lama yang diketahui masih baik
git bisect good v1.0.0
# Git akan checkout commit di tengah-tengah
# Test apakah bug ada:
git bisect good # jika tidak ada bug
git bisect bad # jika bug ada
# Ulangi sampai Git menemukan commit penyebab bug
# Selesai:
git bisect reset
# Lihat semua operasi Git yang pernah dilakukan (termasuk yang di-reset)
git reflog
# Berguna untuk memulihkan commit yang tampak sudah hilang!
# Kembalikan commit yang sudah terhapus dengan reset
git reflog
# Cari hash commit yang hilang, misal: abc1234
git checkout abc1234
# atau
git reset --hard abc1234
✓ Commit sering dan atomik
✓ Tulis pesan commit yang bermakna
✓ Pull sebelum mulai bekerja
✓ Gunakan branch untuk setiap fitur/fix
✓ Jaga .gitignore tetap up-to-date
✓ Review perubahan sebelum commit (git diff)
✓ Hapus branch yang sudah selesai
✓ Jangan pernah force push ke main
✓ Jangan commit file sensitif
✓ Gunakan PR untuk kolaborasi
💡 Tips Terakhir: Git adalah skill yang dipelajari dengan cara memakainya setiap hari. Jangan takut melakukan kesalahan — hampir semua kesalahan di Git bisa dipulihkan dengan
git reflog. Yang terpenting, jadikan Git bagian dari rutinitas harianmu dan kebiasaan baik ini akan terbentuk secara alami. Selamat belajar! 🚀
Kursus
Git Dasar
Kategori
Workflow & Best Practices
Durasi Pelajaran
20 menit