Git memiliki banyak command, tetapi dalam aktivitas development sehari-hari hanya beberapa yang paling sering digunakan.

Command berikut mencakup alur dasar mulai dari mengecek kondisi repository, membuat branch, menyimpan perubahan sebagai commit, melakukan sinkronisasi dengan remote, hingga membatalkan perubahan dengan aman.

chetsheet-git.png

Mengecek Kondisi Repository

Sebelum mulai mengubah kode atau membuat commit, periksa kondisi repository:

git status

Command ini menunjukkan:

  • Branch yang sedang aktif
  • File yang berubah
  • File yang sudah masuk staging
  • File baru yang belum dilacak
  • Posisi branch lokal terhadap remote

Untuk melihat isi perubahan yang belum dimasukkan ke staging:

git diff

Jika ingin melihat perubahan yang sudah berada di staging:

git diff --staged

Riwayat commit dapat dilihat dalam format ringkas:

git log --oneline -10

Opsi -10 membatasi output pada sepuluh commit terakhir.

Mengelola Branch

Branch digunakan untuk memisahkan pekerjaan agar perubahan tidak langsung bercampur dengan branch utama.

Lihat seluruh branch lokal:

git branch

Pindah ke branch lain:

git switch <branch>

Buat branch baru sekaligus berpindah ke branch tersebut:

git switch -c <branch>

Contohnya:

git switch -c feature/login

Gunakan nama branch yang menjelaskan tujuan perubahan, misalnya:

feature/login
fix/payment-validation
docs/docker-guide
chore/update-dependency

Sebelum membuat branch baru, pastikan branch sumber sudah sesuai dan memiliki perubahan terbaru.

Memasukkan Perubahan ke Staging

Git menggunakan staging area untuk memilih perubahan yang akan dimasukkan ke commit.

Stage satu file:

git add <file>

Contohnya:

git add src/Login.vue

Stage seluruh perubahan dalam direktori project:

git add .

git add . memang praktis, tetapi tetap periksa perubahan menggunakan git status agar file yang tidak diperlukan tidak ikut masuk ke commit.

Jika salah memasukkan file ke staging:

git restore --staged <file>

Command tersebut hanya mengeluarkan file dari staging. Perubahan pada file tetap tersedia.

Membuat Commit

Setelah perubahan masuk staging, simpan sebagai commit:

git commit -m "pesan"

Contohnya:

git commit -m "fix: validate login form"

Pesan commit sebaiknya menjelaskan perubahan yang dilakukan, bukan sekadar aktivitas umum.

Kurang jelas:

update
fix bug
perubahan terbaru

Lebih jelas:

fix: prevent duplicate form submission
feat: add user profile endpoint
docs: add local setup instructions

Satu commit sebaiknya berisi satu perubahan yang saling berkaitan. Ini membuat proses review, pencarian masalah, dan rollback lebih mudah.

Mengambil Informasi dari Remote

Gunakan fetch untuk mengambil informasi terbaru dari remote tanpa langsung menggabungkannya ke branch aktif:

git fetch origin

Setelah itu, kondisi branch lokal dan remote dapat diperiksa terlebih dahulu.

Untuk mengambil sekaligus menggabungkan perubahan dari branch remote:

git pull origin <branch>

Contohnya:

git pull origin development

Secara umum, git pull menjalankan proses fetch, kemudian mengintegrasikan perubahan remote sesuai konfigurasi Git yang digunakan.

Pastikan pekerjaan lokal sudah disimpan sebagai commit atau stash sebelum melakukan pull jika terdapat perubahan yang berpotensi bertabrakan.

Mengirim Commit ke Remote

Untuk mengirim commit dari branch lokal:

git push origin <branch>

Saat branch baru pertama kali dikirim, gunakan:

git push -u origin <branch>

Opsi -u menghubungkan branch lokal dengan branch remote sebagai upstream.

Setelah upstream terpasang, push berikutnya cukup menggunakan:

git push

Contoh alurnya:

git switch -c feature/login
git add .
git commit -m "feat: add login page"
git push -u origin feature/login

Branch yang sudah dikirim ke remote kemudian dapat digunakan untuk membuat pull request atau merge request.

Menyimpan Perubahan Sementara

Jika perlu berpindah branch tetapi perubahan belum siap dijadikan commit, simpan sementara menggunakan stash:

git stash

Untuk melihat daftar stash:

git stash list

Kembalikan perubahan terakhir yang disimpan:

git stash pop

git stash pop menerapkan perubahan lalu menghapus stash tersebut jika prosesnya berhasil.

Jika ingin menerapkan perubahan tanpa langsung menghapus stash:

git stash apply

Membatalkan Perubahan File

Batalkan perubahan pada file yang belum masuk staging:

git restore <file>

Contohnya:

git restore src/Login.vue

Command tersebut mengembalikan file ke kondisi commit terakhir.

Perubahan lokal pada file akan hilang, jadi pastikan isinya memang sudah tidak diperlukan.

Untuk membatalkan staging tanpa menghapus perubahan file:

git restore --staged <file>

Perbedaannya:

Command Dampak
git restore <file> Membuang perubahan lokal pada file
git restore --staged <file> Mengeluarkan file dari staging
git stash Menyimpan perubahan untuk digunakan kembali

Command yang Perlu Diwaspadai

Beberapa command dapat menghapus perubahan lokal secara permanen:

git reset --hard

Command tersebut mengembalikan tracked files ke commit tujuan dan membuang perubahan lokal yang belum disimpan.

Command berikut menghapus file dan direktori yang belum dilacak:

git clean -fd

Sebelum menggunakan git clean, lakukan preview terlebih dahulu:

git clean -nd

Huruf n berarti dry run, sehingga Git hanya menunjukkan file yang akan dihapus tanpa benar-benar menghapusnya.

Alur Kerja Harian

Contoh alur Git sederhana saat mengerjakan fitur:

git status
git switch -c feature/nama-fitur
git add <file>
git commit -m "feat: deskripsi perubahan"
git fetch origin
git push -u origin feature/nama-fitur

Setelah branch tersedia di remote, perubahan dapat dilanjutkan melalui pull request atau merge request.

Ringkasan Command

Command Fungsi
git status Mengecek kondisi repository
git diff Melihat perubahan file
git log --oneline -10 Melihat riwayat commit
git switch <branch> Berpindah branch
git switch -c <branch> Membuat branch baru
git add <file> Memasukkan file ke staging
git commit -m "pesan" Membuat commit
git fetch origin Mengambil informasi terbaru dari remote
git pull origin <branch> Mengambil dan mengintegrasikan perubahan
git push -u origin <branch> Push branch sekaligus mengatur upstream
git restore <file> Membuang perubahan lokal pada file
git restore --staged <file> Mengeluarkan file dari staging
git stash Menyimpan perubahan sementara
git stash pop Mengembalikan stash terakhir

Kesimpulan

Command Git yang digunakan sehari-hari tidak harus dihafalkan sekaligus.

Mulailah dari memahami alurnya: periksa perubahan, gunakan branch, pilih file yang akan dimasukkan ke staging, buat commit yang jelas, lalu kirim branch ke remote.

Untuk command yang dapat membuang perubahan seperti restore, reset --hard, dan clean -fd, periksa kembali kondisi repository sebelum menjalankannya.