DEV Community

Cover image for Git Commands Cheat Sheet
erfandwi
erfandwi

Posted on

Git Commands Cheat Sheet

Git adalah sistem kontrol versi terdistribusi yang bersifat gratis dan open source. Git digunakan untuk melacak setiap perubahan pada file dalam suatu proyek, sehingga memungkinkan kolaborasi tim yang efisien serta manajemen versi yang lebih terstruktur dan andal.

Berikut adalah cheat sheet Git yang bisa Anda gunakan sebagai referensi cepat untuk perintah-perintah Git yang umum digunakan, seperti melihat riwayat commit, membuat dan menggabungkan branch, serta melakukan commit terhadap perubahan file.

SETUP

Mengatur nama pengguna secara global. Ini digunakan sebagai identitas saat membuat atau mengubah riwayat (history) versi source code.

git config --global user.name "[Nama Lengkap]"
Enter fullscreen mode Exit fullscreen mode

Mengatur alamat email secara global. Alamat email ini akan tercantum pada setiap commit, jadi pastikan menggunakan email yang valid ΓÇö terutama jika Anda akan berkontribusi ke repositori publik.

git config --global user.email "[email@example.com]"
Enter fullscreen mode Exit fullscreen mode

SETUP & INIT

Membuat repositori Git baru di folder proyek yang ditentukan.

git init [nama-proyek]
Enter fullscreen mode Exit fullscreen mode

Mengkloning (mengunduh) repositori remote beserta seluruh riwayat commit-nya ke komputer lokal.

git clone <URL-repositori>
Enter fullscreen mode Exit fullscreen mode

INSPECT & COMPARE

Melihat riwayat commit pada repositori Git.

git log
Enter fullscreen mode Exit fullscreen mode

Menampilkan detail perbedaan (diff) untuk setiap commit, termasuk baris kode yang ditambahkan atau dihapus.

git log -p
Enter fullscreen mode Exit fullscreen mode

Menampilkan sejumlah commit terbaru (contoh: 5 commit terakhir).

git log -n 5
Enter fullscreen mode Exit fullscreen mode

Menampilkan daftar commit yang ada di branchA tetapi tidak ada di branchB.

git log branchB..branchA
Enter fullscreen mode Exit fullscreen mode

Melihat riwayat commit yang hanya memengaruhi satu file tertentu (termasuk perubahan nama file jika terjadi).

git log --follow [nama_file]
Enter fullscreen mode Exit fullscreen mode

Menampilkan riwayat commit dalam format ringkas dan visual menggunakan garis cabang, referensi, dan anotasi.

git log --oneline --graph --decorate
Enter fullscreen mode Exit fullscreen mode

Menampilkan perubahan (diff) pada file tertentu dalam urutan commit-nya.

git log -p -- path/to/file.txt
Enter fullscreen mode Exit fullscreen mode

Menampilkan riwayat commit dalam format pendek dan terformat khusus.

git log --pretty=format:"%h - %an, %ar : %s"
Enter fullscreen mode Exit fullscreen mode

Menampilkan perbedaan (diff) antara branchA dan branchB. Tiga titik (...) menunjukkan perbedaan sejak common ancestor keduanya.

git diff branchB...branchA
Enter fullscreen mode Exit fullscreen mode

Menampilkan detail dari sebuah objek Git (commit, file, tag, dsb.) berdasarkan SHA-nya, dalam format yang mudah dibaca.

git show [SHA]
Enter fullscreen mode Exit fullscreen mode

TRACKING PATH CHANGES

Menghapus file dari project dan menandainya untuk dihapus pada commit berikutnya.

git rm [file]
Enter fullscreen mode Exit fullscreen mode

Memindahkan atau mengganti nama file/direktori dalam project, dan mencatat perubahan tersebut untuk commit berikutnya.

git mv [path-lama] [path-baru]
Enter fullscreen mode Exit fullscreen mode

Menampilkan riwayat commit beserta statistik perubahan, serta mendeteksi pemindahan atau penggantian nama file.

git log --stat -M
Enter fullscreen mode Exit fullscreen mode

STAGE & SNAPSHOT

Menampilkan status terkini dari working directory dan staging area, termasuk file yang dimodifikasi, ditambahkan, atau dihapus.

git status
Enter fullscreen mode Exit fullscreen mode

Menambahkan file yang ditentukan ke staging area agar siap untuk dicommit.

git add [file]
Enter fullscreen mode Exit fullscreen mode

Membatalkan penambahan file ke staging area (unstage), namun tetap mempertahankan perubahan pada working directory.

git reset [file]
Enter fullscreen mode Exit fullscreen mode

Menampilkan perbedaan (diff) antara file di working directory dan file yang sudah di-stage.

git diff
Enter fullscreen mode Exit fullscreen mode

Menampilkan perbedaan (diff) antara file di staging area dengan versi yang terakhir di-commit.

git diff --staged
Enter fullscreen mode Exit fullscreen mode

Membuat commit dari perubahan yang ada di staging area, disertai pesan deskriptif singkat.

git commit -m "fix: send email"
Enter fullscreen mode Exit fullscreen mode

BRANCH & MERGE

Menampilkan daftar branch lokal, serta menandai branch yang sedang aktif dengan tanda *.

git branch
Enter fullscreen mode Exit fullscreen mode

Menampilkan semua branch yang ada di repositori, baik branch lokal maupun remote.

git branch -a
Enter fullscreen mode Exit fullscreen mode

Menampilkan daftar branch yang ada di remote repository.

git branch -r
Enter fullscreen mode Exit fullscreen mode

Membuat branch baru berdasarkan commit terakhir dari branch aktif saat ini.

git branch [nama-branch]
Enter fullscreen mode Exit fullscreen mode

Berpindah (switch) ke branch lain.

git switch [nama-branch]
Enter fullscreen mode Exit fullscreen mode

Catatan: Perintah git switch adalah alternatif modern dan lebih jelas dari git checkout untuk berpindah branch.

Mengambil file atau berpindah ke commit tertentu (digunakan untuk berbagai konteks: berpindah branch, commit, atau mengembalikan file).

git checkout [opsi]
Enter fullscreen mode Exit fullscreen mode

Menggabungkan riwayat commit dari branch tertentu ke branch saat ini.

git merge [nama-branch]
Enter fullscreen mode Exit fullscreen mode

TAGGING COMMITS

Menampilkan daftar semua tag yang ada di dalam repositori Git.

git tag
Enter fullscreen mode Exit fullscreen mode

Membuat tag baru (annotated atau lightweight) yang merujuk ke commit tertentu. Jika commit SHA tidak disebutkan, maka akan menggunakan commit terakhir (HEAD).

git tag [nama-tag] [commit-sha]
Enter fullscreen mode Exit fullscreen mode

Membuat annotated tag yang menyimpan metadata tambahan seperti pesan, pembuat, dan tanggal ΓÇö cocok untuk menandai versi rilis.

git tag -a [nama-tag] [commit-sha] -m "Pesan tag"
Enter fullscreen mode Exit fullscreen mode

Catatan:

  • Gunakan tag bertipe annotated (-a) untuk rilis karena lebih lengkap dan aman untuk distribusi.
  • Anda dapat menggunakan git show [nama-tag] untuk melihat detail dari sebuah tag.

SHARE & UPDATE

Mengambil (fetch) semua branch dan update dari remote repository yang telah dikonfigurasi, tanpa menggabungkannya ke branch lokal.

git fetch [alias]
Enter fullscreen mode Exit fullscreen mode

Mengambil pembaruan dari remote dan secara otomatis menghapus referensi (branch/tag) lokal yang sudah tidak ada lagi di remote.

git fetch --prune [remote]
Enter fullscreen mode Exit fullscreen mode

Mengunduh perubahan terbaru dari remote repository dan langsung menggabungkannya (merge) ke branch aktif lokal.

git pull [remote]
Enter fullscreen mode Exit fullscreen mode

Menggabungkan perubahan dari branch remote tertentu ke branch aktif lokal (digunakan setelah git fetch).

git merge [alias]/[nama-branch]
Enter fullscreen mode Exit fullscreen mode

Catatan:

  • alias adalah nama remote, biasanya origin.
  • Gunakan git remote -v untuk melihat alias remote yang tersedia.
  • Jika ingin menghindari merge dan lebih memilih rebase, bisa gunakan git pull --rebase.

REWRITE HISTORY

Mengatur ulang (rebase) riwayat commit pada branch aktif, meletakkannya di atas commit terakhir dari branch yang ditentukan. Berguna untuk menjaga riwayat commit tetap bersih dan linear.

git rebase [nama-branch]
Enter fullscreen mode Exit fullscreen mode

Mengembalikan seluruh direktori kerja dan riwayat ke kondisi commit tertentu. Perhatian: Ini akan menghapus semua perubahan setelah commit tersebut secara permanen.

git reset --hard [commit-sha]
Enter fullscreen mode Exit fullscreen mode

Membatalkan efek dari commit tertentu dengan cara membuat commit baru yang membalikkan perubahan, tanpa menghapus commit lama dari riwayat.

git revert [commit-sha]
Enter fullscreen mode Exit fullscreen mode

TEMPORARY COMMITS

Menyimpan sementara perubahan yang belum di-commit (baik yang sudah maupun belum di-stage) ke dalam stack stash, dan mengembalikan working directory ke kondisi bersih.

git stash
Enter fullscreen mode Exit fullscreen mode

Menampilkan daftar semua item yang tersimpan di dalam stack stash.

git stash list
Enter fullscreen mode Exit fullscreen mode

Mengembalikan perubahan terakhir yang disimpan di stash ke working directory, dan menghapusnya dari daftar stash.

git stash pop
Enter fullscreen mode Exit fullscreen mode

Menghapus item tertentu dari daftar stash (secara default, yang teratas).

git stash drop
Enter fullscreen mode Exit fullscreen mode

Untuk menyimpan dengan nama deskriptif, gunakan:

git stash save "deskripsi singkat"
Enter fullscreen mode Exit fullscreen mode

Top comments (0)