10 Shortcut Git yang Menghemat Puluhan Menit Setiap Hari
Sebagian besar developer hanya pakai 10% kemampuan Git. Ini shortcut dan alias yang akan mengubah cara kamu berinteraksi dengan Git sehari-hari.
Git Aliases: Investasi 5 Menit yang Menghemat Jam
Tambahkan alias berikut ke ~/.gitconfig:
[alias]
st = status -sb
co = checkout
br = branch
lg = log --oneline --graph --decorate --all
undo = reset HEAD~1 --soft
unstage = restore --staged
save = stash push -m
1. Undone Commit Terakhir Tanpa Kehilangan Perubahan
git undo
# Equivalent: git reset HEAD~1 --soft
# Commit hilang, perubahan tetap ada di working directory
2. Interactive Rebase — Edit Commit History
git rebase -i HEAD~3 # edit 3 commit terakhir
Di editor yang muncul, ganti pick dengan squash untuk menggabungkan commit, reword untuk mengubah pesan, atau drop untuk menghapus.
3. Cherry-Pick Satu Commit dari Branch Lain
git cherry-pick abc1234 # ambil satu commit spesifik ke branch saat ini
4. Bisect — Cari Commit yang Memperkenalkan Bug
git bisect start
git bisect bad # commit saat ini ada bugnya
git bisect good v1.0 # tag/commit yang diketahui masih baik
# Git otomatis checkout ke commit tengah
# Test, lalu:
git bisect good # atau: git bisect bad
# Ulangi sampai Git menemukan commit penyebab bug
5. Stash dengan Nama
git save "wip: feature auth middleware"
git stash list
git stash pop stash@{0}
6. Amend Commit Terakhir
# Lupa tambahkan file ke commit terakhir?
git add forgotten-file.js
git commit --amend --no-edit # tambah ke commit tanpa ubah pesan
7. Lihat Perbedaan yang Sudah di-Stage
git diff --staged # lihat apa yang akan masuk ke commit berikutnya
8. Hapus Branch Remote dan Lokal Sekaligus
git push origin --delete feature/old-branch # hapus remote
git branch -d feature/old-branch # hapus lokal
9. Clone Hanya Branch Tertentu
git clone --branch main --single-branch https://github.com/user/repo.git
10. Log yang Bisa Dibaca Manusia
git lg
# Menampilkan: hash pendek | pesan commit | branch/tag | author | waktu
# Dalam format graph yang menunjukkan alur merge dan branch