Git Cheat Sheet — Perintah yang Bisa Langsung Kamu Salin

Setiap perintah Git yang kamu pakai sehari-hari, dan yang kamu butuhkan saat ada yang salah, dijelaskan dalam satu baris. Isi nama branch, remote, dan file sekali saja, lalu salin perintah yang siap dijalankan.

Diperbarui
Nilai kamuSetiap contoh di bawah ikut berubah saat kamu mengetik

Setup & konfigurasi

7
git config --global user.name "Ada Lovelace"

Atur nama penulis yang tercatat di commit kamu.

git config --global user.email "ada@example.com"

Atur email yang tercatat di commit kamu. Pakai email yang terhubung dengan akun GitHub/GitLab kamu.

git config --global init.defaultBranch main

Beri nama branch pertama untuk setiap repositori baru.

git config --global pull.rebase true

Buat git pull melakukan rebase commit lokal kamu, bukan membuat merge commit.

git config --global core.editor "code --wait"

Pakai VS Code untuk pesan commit dan interactive rebase.

git config --global alias.lg "log --oneline --graph --decorate --all"

Tambahkan shortcut git lg untuk grafik riwayat yang ringkas.

git config --list --show-origin

Tampilkan setiap pengaturan beserta file asalnya, berguna saat pengaturan terasa “tidak berfungsi”.

Mulai repositori

6
git init

Ubah folder saat ini menjadi repositori Git.

git clone git@github.com:acme/app.git

Unduh repositori beserta seluruh riwayatnya.

git clone --depth 1 git@github.com:acme/app.git

Shallow clone hanya dengan commit terbaru, jauh lebih cepat untuk repositori besar dan CI.

git remote add origin git@github.com:acme/app.git

Hubungkan repositori lokal ke remote.

git remote -v

Tampilkan daftar remote beserta URL fetch/push-nya.

git remote set-url origin git@github.com:acme/app.git

Ubah URL remote, misalnya dari HTTPS ke SSH.

Stage & commit

12
git status -sb

Status singkat dengan nama branch dan selisih commit kamu terhadap remote.

git add src/app.js

Stage satu file untuk commit berikutnya.

git add -p

Tinjau dan stage perubahan per potongan, cara terbaik untuk membuat commit yang fokus.

git add -A

Stage semua: file baru, file yang diubah, dan file yang dihapus.

git commit -m "Add login form"

Commit perubahan yang sudah di-stage dengan pesan.

git commit --amend --no-edit

Gabungkan perubahan yang sudah di-stage ke commit terakhir dan pertahankan pesannya. Hindari untuk commit yang sudah kamu push.

git commit --amend -m "Better message"

Tulis ulang pesan dari commit terakhir.

git diff

Tampilkan perubahan yang belum di-stage.

git diff --staged

Tampilkan persis isi commit berikutnya.

git restore --staged src/app.js

Batalkan stage file tapi tetap simpan perubahanmu.

git restore src/app.js

destruktif Buang perubahan yang belum di-commit pada file dan kembalikan ke kondisi commit terakhir.

git rm --cached src/app.js

Berhenti melacak file (misalnya setelah menambahkannya ke .gitignore) tapi file tetap ada di disk.

Branch

9
git branch -a

Tampilkan branch lokal dan remote.

git switch -c feature/login

Buat branch baru dan langsung pindah ke sana.

git switch feature/login

Pindah ke branch yang sudah ada.

git switch -

Kembali ke branch yang tadi kamu buka.

git branch -m feature/login

Ganti nama branch saat ini.

git branch --merged main

Tampilkan branch yang sudah di-merge ke branch utama, aman untuk dihapus.

git branch -d feature/login

Hapus branch lokal yang sudah di-merge.

git branch -D feature/login

destruktif Paksa hapus branch lokal meskipun commit-nya belum di-merge di mana pun.

git push origin --delete feature/login

destruktif Hapus branch di remote.

Sinkron dengan remote

6
git fetch --all --prune

Unduh commit baru dan hapus referensi branch remote yang sudah dihapus.

git pull

Ambil dan gabungkan branch upstream ke branch saat ini.

git pull --rebase origin main

Putar ulang commit lokal kamu di atas main terbaru.

git push -u origin feature/login

Push branch baru dan jadikan upstream-nya, sehingga git push berikutnya tidak perlu argumen.

git push --force-with-lease

destruktif Force-push setelah rebase, tapi ditolak jika ada orang lain yang sudah push di tengah waktu. Jauh lebih aman daripada --force.

git push origin --tags

Push semua tag lokal.

Merge & rebase

10
git merge feature/login

Merge branch lain ke branch saat ini.

git merge --no-ff feature/login

Selalu buat merge commit agar branch tetap terlihat di riwayat.

git merge --squash feature/login

Stage semua perubahan branch sebagai satu perubahan, siap untuk satu commit.

git rebase main

Pindahkan commit branch kamu ke atas main terbaru agar riwayatnya lurus.

git rebase -i HEAD~3

destruktif Gabungkan (squash), urutkan ulang, ubah pesan, atau hapus N commit terakhir secara interaktif. Menulis ulang riwayat.

git rebase --continue

Lanjutkan rebase setelah konflik diselesaikan dan file di-stage.

git rebase --abort

Batalkan rebase dan kembali ke kondisi awal.

git merge --abort

Batalkan merge yang punya konflik.

git checkout --theirs src/app.js

Saat konflik, ambil versi masuk dari file (--ours untuk mempertahankan versimu).

git cherry-pick a1b2c3d

Terapkan satu commit dari branch lain ke branch saat ini.

Undo & perbaiki kesalahan

9
git reset --soft HEAD~1

Batalkan commit terakhir tapi tetap simpan perubahannya dalam kondisi sudah di-stage.

git reset HEAD~1

Batalkan commit terakhir dan simpan perubahannya sebagai edit yang belum di-stage.

git revert a1b2c3d

Buat commit baru yang membatalkan commit sebelumnya, cara aman untuk undo di branch bersama.

git reset --hard HEAD~1

destruktif Hapus commit terakhir beserta semua perubahannya.

git reset --hard origin/main

destruktif Samakan branch lokal persis dengan remote, dengan membuang commit dan edit lokal.

git reflog

Tampilkan semua commit yang pernah ditunjuk HEAD belakangan ini, cara menemukan commit “hilang” setelah reset atau rebase yang salah.

git reset --hard HEAD@{1}

destruktif Kembali ke posisi HEAD sebelum reset, rebase, atau checkout terakhir.

git clean -nd

Pratinjau file dan folder yang tidak dilacak yang akan dihapus git clean.

git clean -fd

destruktif Hapus file dan folder yang tidak dilacak. Jalankan pratinjau -nd dulu.

Stash

6
git stash push -m "wip: feature/login"

Simpan perubahan yang belum di-commit dengan label.

git stash -u

Stash termasuk file yang tidak dilacak.

git stash list

Tampilkan semua stash.

git stash pop

Terapkan kembali stash terbaru dan hapus dari daftar.

git stash apply stash@{0}

Terapkan kembali stash tapi tetap simpan di daftar.

git stash drop stash@{0}

destruktif Hapus stash secara permanen.

Riwayat & inspeksi

9
git log --oneline --graph --all

Grafik ringkas dari semua branch.

git log -p -- src/app.js

Riwayat satu file beserta diff setiap perubahan.

git log --author="Ada Lovelace" --since="2 weeks ago"

Commit dari satu penulis dalam rentang waktu tertentu.

git log -S "functionName"

Cari commit yang menambah atau menghapus sebuah string, cocok untuk “kapan ini hilang?”.

git blame -w src/app.js

Tampilkan siapa yang terakhir mengubah tiap baris, dengan mengabaikan perubahan spasi saja.

git show a1b2c3d

Tampilkan pesan dan diff sebuah commit.

git diff main...feature/login

Perubahan di branch sejak bercabang dari main, inilah yang akan ditampilkan pull request.

git shortlog -sn

Jumlah commit per penulis.

git bisect start
git bisect bad
git bisect good v1.2.0

Cari commit yang memunculkan bug dengan pencarian biner pada riwayat. Tandai tiap langkah sebagai good atau bad, lalu jalankan git bisect reset.

Tag & rilis

4
git tag -a v1.2.0 -m "Release v1.2.0"

Buat annotated tag untuk rilis.

git push origin v1.2.0

Push satu tag.

git describe --tags --abbrev=0

Tampilkan tag terbaru.

git tag -d v1.2.0

destruktif Hapus tag lokal.

Worktree & lainnya

4
git worktree add ../feature/login feature/login

Checkout branch lain di folder terpisah, kerjakan dua branch tanpa stash.

git worktree list

Tampilkan daftar worktree yang terhubung.

git submodule update --init --recursive

Ambil dan checkout semua submodule setelah clone.

git archive --format=zip -o release.zip HEAD

Ekspor tree saat ini sebagai ZIP tanpa folder .git.

Data kamu tidak pernah meninggalkan komputer kamu. Semua proses berjalan 100% secara lokal di browser kamu.

Apakah alat ini membantu?0.0 0 penilaian
Pilih tugas Git seperti undo commitGanti nama branch, squash, stash, atau untrack file, lalu dapatkan perintah persis beserta penjelasannya.Generator Perintah Git →

Cara menggunakan Git Cheat Sheet

  1. Isi nilaimu sendiri (branch, remote, file, commit) di kotak bagian atas. Setiap contoh di halaman ini akan langsung berubah.
  2. Cari atau langsung loncat ke bagian untuk menemukan perintah yang kamu butuhkan.
  3. Klik Salin untuk menyalin satu baris perintah yang siap dijalankan, atau Salin bagian untuk blok perintah beserta komentarnya.
  4. Perintah yang ditandai destruktif menghapus atau menimpa data. Baca catatannya sebelum menjalankannya.

Alur kerja Git dalam satu menit

Sebagian besar pekerjaan mengikuti pola yang sama: buat branch dengan git switch -c, lakukan perubahan, tinjau dengan git diff, stage dengan git add -p, commit, lalu push dengan git push -u. Sebelum membuka pull request, perbarui branch kamu dengan git pull --rebase origin main agar bisa diterapkan dengan bersih.

Perintah yang menulis ulang riwayat

commit --amend, rebase, reset, dan push --force mengubah commit yang sudah ada. Itu aman di branch yang hanya kamu pakai, tapi di branch bersama akan memaksa semua orang memperbaiki salinan mereka. Di branch bersama, batalkan dengan git revert, dan jika terpaksa force-push, gunakan --force-with-lease.

Tidak ada yang hilang selama 30 hari

Bahkan setelah reset --hard atau rebase yang salah, pekerjaan yang sudah di-commit tetap ada di repositori. git reflog menampilkan posisi HEAD sebelumnya, sehingga kamu bisa kembali ke kondisi terbaru mana pun. Perubahan yang belum di-commit adalah pengecualian, jadi commit atau stash dengan sering.

Buat perintah untuk situasi tertentu dengan generator perintah Git dan mulai repositori baru dengan generator .gitignore.

Juga dicari sebagai: cheat sheet git, perintah git, daftar perintah git, contoh perintah git, cara undo commit git, git rebase, git stash, referensi git.

Tool yang cocok dipakai bersama Git Cheat Sheet

  • Cheat Sheet Docker — Perintah Docker dan Docker Compose yang paling sering kamu pakai tiap minggu, dijelaskan dalam satu baris.
  • Cheat Sheet Perintah Linux — Perintah Linux dan bash yang dipakai developer di server dan laptop: file, pencarian, izin, proses, log, jaringan, dan SSH.
  • Prompt AI untuk Developer — Prompt yang sudah teruji untuk tugas coding harianmu: debug, review, test, refactor, SQL, pesan commit, dan dokumentasi.
  • Cheat Sheet PowerShell — Perintah PowerShell yang sehari-hari dipakai developer dan admin di Windows — dan di PowerShell 7 untuk macOS dan Linux — dijelaskan dalam satu baris masing-masing.

Pertanyaan yang sering diajukan

Apa perbedaan git fetch dan git pull?
git fetch mengunduh commit baru dari remote tapi tidak mengubah branch kamu. git pull melakukan fetch lalu menggabungkan (merge atau rebase) commit tersebut ke branch saat ini.
Bagaimana cara membatalkan commit terakhir?
Gunakan git reset --soft HEAD~1 untuk membatalkan commit dan tetap menyimpan perubahannya dalam kondisi sudah di-stage. Jika commit sudah di-push ke branch bersama, gunakan git revert <commit> sebagai gantinya agar riwayat orang lain tidak ditulis ulang.
Sebaiknya pakai merge atau rebase?
Rebase branch fitur kamu ke main agar riwayat tetap lurus dan mudah dibaca. Gunakan merge (atau squash-merge) saat memasukkan pekerjaan yang sudah selesai ke branch bersama. Jangan pernah rebase commit yang sudah di-pull orang lain.
Bagaimana cara mengembalikan commit yang hilang setelah reset?
Jalankan git reflog, cari baris dari sebelum reset, lalu jalankan git reset --hard HEAD@{n} atau buat branch dari hash commit tersebut.
Bisakah saya memasang Git Cheat Sheet sebagai aplikasi web dan memakainya offline?
Bisa. Git Cheat Sheet adalah aplikasi web (PWA) yang bisa dipasang. Pemasangannya lewat browser kamu, bukan diunduh dari toko aplikasi. Klik Pasang aplikasi di bagian atas halaman ini di Chrome atau Edge (Windows, macOS, Linux, ChromeOS) atau di Android. Di iPhone dan iPad, gunakan Bagikan → Tambahkan ke Layar Utama, dan di Safari 17+ pada Mac, gunakan File → Tambahkan ke Dock. Setelah itu, aplikasi akan terbuka di jendelanya sendiri dengan ikonnya sendiri. Karena berjalan sepenuhnya di browser kamu, aplikasi ini tetap bisa dipakai offline. Firefox di desktop tidak bisa memasang aplikasi web. Cara memasang aplikasi.

Tool terkait