Back to Blog
Tech Insights

Dari Sekadar Commit & Push: Tips Git yang Bikin Workflow Kamu Jauh Lebih Optimal

a
By admin
May 07, 2026 279 views
Dari Sekadar Commit & Push: Tips Git yang Bikin Workflow Kamu Jauh Lebih Optimal

Kalau kamu sudah pakai Git selama beberapa tahun tapi masih berkutat di git add, git commit, dan git push — artikel ini untuk kamu.

Bukan berarti itu salah. Tapi Git punya banyak fitur yang, begitu kamu tahu dan terbiasa, akan terasa seperti superpowerdalam pekerjaan sehari-hari. Terutama kalau kamu kerja dalam tim, sekecil apapun itu.


1. Branching Strategy yang Tidak Bikin Pusing

Salah satu sumber chaos paling umum di tim kecil adalah tidak adanya kesepakatan soal branching. Semua orang commit langsung ke main, atau punya konvensi branch yang berbeda-beda.

Untuk tim kecil (2–5 orang), GitHub Flow adalah pilihan terbaik — cukup simpel untuk tidak membebani, tapi cukup terstruktur untuk menghindari kekacauan.

Strukturnya sederhana:

 
 
main        → selalu production-ready, selalu stabil
feature/xxx → untuk fitur baru
fix/xxx     → untuk bug fix
hotfix/xxx  → perbaikan mendesak di production

Aturan mainnya:

  • Branch main tidak pernah di-commit langsung
  • Setiap pekerjaan baru = branch baru yang dibuat dari main yang fresh
  • Selesai → Pull Request → review → merge → hapus branch
 
 
bash
# Cara yang benar: selalu mulai dari main yang up-to-date
git checkout main && git pull origin main
git checkout -b feature/athlete-export

Sederhana, tapi konsistensi di sini yang membuat perbedaan besar jangka panjang.


2. Commit Message yang Bermakna

Coba buka riwayat commit proyekmu sekarang. Apakah kamu bisa tahu apa yang terjadi 3 bulan lalu hanya dari membaca commit message-nya?

Kalau jawabannya tidak — saatnya adopsi Conventional Commits. Formatnya:

 
 
<type>(<scope>): <deskripsi singkat>
Type Kapan dipakai
feat Menambahkan fitur baru
fix Memperbaiki bug
refactor Mengubah struktur kode tanpa mengubah behavior
chore Update dependency, konfigurasi, hal-hal non-fungsional
docs Perubahan dokumentasi

Contoh nyata:

 
 
bash
git commit -m "feat(export): add PDF generation for athlete KTA card"
git commit -m "fix(settings): logo not persisting when value is null"
git commit -m "refactor(athlete): extract KTA logic into dedicated service class"

Dibandingkan dengan fix bug, coba lagi, atau update — perbedaannya langsung terasa saat kamu atau rekan timmu perlu menelusuri history di kemudian hari.


3. Bersihkan History Sebelum Merge dengan Interactive Rebase

Selama develop, wajar banget kalau commit-mu jadi berantakan:

 
 
wip: tambah form export
fix typo
lupa validasi
ok sekarang beneran fix

Sebelum melakukan Pull Request, bersihkan dulu dengan interactive rebase:

 
 
bash
# Gabungkan 4 commit terakhir menjadi 1
git rebase -i HEAD~4

Di editor yang muncul, ubah pick menjadi squash (atau cukup s) pada commit-commit yang ingin digabungkan. Hasilnya, branch kamu hanya punya satu commit yang bersih dan bermakna saat masuk ke main.

Penting: Hanya lakukan rebase di branch milikmu sendiri yang belum di-share ke orang lain. Jangan rebase branch yang sudah di-push dan dipakai bersama.


4. Cegah Konflik Merge Sebelum Terjadi

Konflik merge biasanya bukan soal nasib buruk — tapi soal branch yang terlalu lama tidak sync dengan main. Bangun kebiasaan ini:

 
 
bash
# Lakukan setiap pagi sebelum mulai coding
git fetch origin
git rebase origin/main

Kenapa rebase dan bukan merge? Karena rebase membuat history tetap linear — tidak ada "merge commit" yang tidak perlu dan history jadi jauh lebih mudah dibaca.

Kalau konflik sudah terlanjur terjadi, tanganinya seperti ini:

 
 
bash
git status              # lihat file mana yang konflik
# buka file, selesaikan konflik secara manual
git add <file>
git rebase --continue   # lanjutkan proses rebase

5. Rollback & Undo — Tanpa Panik

Ini salah satu hal yang paling sering bikin developer keringat dingin. Tapi sebenarnya Git punya alat yang tepat untuk setiap situasi:

Situasi Perintah
Batalkan perubahan di file (belum di-stage) git restore <file>
Unstage file (belum commit) git restore --staged <file>
Edit commit terakhir (belum push) git commit --amend
Undo commit terakhir, tapi simpan perubahannya git reset --soft HEAD~1
Undo commit terakhir + buang perubahannya git reset --hard HEAD~1
Undo commit yang sudah di-push ke shared branch git revert <commit-hash>

Aturan paling penting: kalau commit sudah push ke branch yang dipakai bersama, selalu gunakan git revert. Perintah ini membuat commit baru yang membalikkan perubahan — aman karena tidak mengubah history yang sudah ada.


6. Alias CLI untuk Efisiensi Sehari-hari

Beberapa alias berikut ini kecil tapi dampaknya terasa setiap hari. Tambahkan ke ~/.gitconfig:

 
 
bash
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.st "status -s"
git config --global alias.undo "reset --soft HEAD~1"
git config --global alias.unstage "restore --staged"

Setelah ini, kamu bisa pakai:

 
 
bash
git lg        # visualisasi graph history yang jauh lebih readable
git st        # status ringkas, tidak perlu scroll panjang
git undo      # batalkan commit terakhir dengan aman
git unstage   # keluarkan file dari staging area

git lg khususnya adalah salah satu alias yang, begitu kamu coba, tidak akan mau balik ke git log biasa lagi.


7. Tandai Release dengan Git Tag

Kalau proyekmu punya siklus release, biasakan menggunakan tag:

 
 
bash
git tag -a v1.2.0 -m "Release: KTA export dengan QR code"
git push origin --tags

Tag memberi kamu anchor point yang jelas di history — sangat berguna saat perlu melacak kapan fitur tertentu masuk production, atau saat perlu rollback ke versi sebelumnya.


Mulai dari Mana?

Tidak perlu langsung menerapkan semuanya sekaligus. Kalau harus pilih tiga hal untuk dicoba hari ini:

  1. Pakai konvensi penamaan branch — mulai dengan feature/ dan fix/ dari sekarang
  2. Pasang alias git lg — ini langsung mengubah cara kamu memahami history proyekmu
  3. Biasakan git fetch + git rebase origin/main setiap pagi sebelum mulai kerja

Tiga kebiasaan kecil ini saja sudah cukup untuk membuat workflow kamu — dan tim kamu — jauh lebih rapi dan terkontrol.


Punya tips Git lain yang sering kamu pakai? Atau ada bagian yang ingin dibahas lebih dalam? Tinggalkan di kolom komentar.