Git Cheat Sheet untuk Pemula

Ringkas, minimalis, fokus pada yang sering dipakai.

Dasar

Git menyimpan snapshot perubahan & memudahkan kolaborasi.

Repositori = folder proyek yang diatur oleh Git (.git).
Commit = paket perubahan + pesan penjelas.
Branch = jalur pengembangan paralel.

Konfigurasi Awal

Setel identitas agar setiap commit tercatat rapi.

git config --global user.name "Nama Kamu"
git config --global user.email kamu@example.com
git config --global init.defaultBranch main

Lihat semua konfigurasi: git config --list

Repo Baru & Clone

Buat repo dari folder yang sudah ada

cd /path/proyek
git init
git add .
git commit -m "init: proyek baru"

Clone repo yang sudah ada

git clone https://github.com/user/repo.git
cd repo

Staging & Commit

# Tambah semua perubahan
git add .
# Atau tambah file tertentu
git add path/ke/file.ext
# Simpan perubahan (commit) dengan pesan
git commit -m "feat: tambahkan form login"

Status: git status • Bandingkan: git diff

Branch & Merge

Kelola branch

# Buat branch baru
git switch -c feature/login
# Pindah branch
git switch main
# Lihat daftar branch
git branch

Gabung (merge)

# Dari branch target (mis. main), gabungkan branch lain
git switch main
git merge feature/login

Prefer git switch/git restore ketimbang checkout.

Remote (GitHub/GitLab)

git remote add origin https://github.com/user/repo.git
git remote -v
git push -u origin main

SSH (opsional): git@github.com:user/repo.git

Sinkronisasi

Ambil & gabungkan otomatis

git pull

Ambil tanpa menggabung

git fetch
# Contoh bandingkan
git log --oneline --graph --decorate origin/main..main

Batalkan Perubahan (Aman Dulu)

Batalkan di working dir

git restore path/ke/file.ext
# Kembalikan semua
git restore .

Keluarkan dari staging

git restore --staged path/ke/file.ext

Undo commit terakhir (tanpa kehilangan perubahan)

git reset --soft HEAD~1

Balikkan commit dengan commit pembalik aman

git revert <hash-commit>

Hati‑hati: git reset --hard menghapus perubahan lokal.

Lihat Riwayat & Bedanya

git log --oneline --graph --decorate --all
git show <hash-commit> -- path/ke/file.ext
git diff main..feature/login

Stash (Simpan Sementara)

git stash push -m "wip: perbaiki validasi"
git stash list
git stash pop
# atau
git stash apply

Tag Rilis

git tag v1.0.0
# Disarankan anotasi
git tag -a v1.0.0 -m "rilis pertama"
# Push semua tag
git push --tags

Konflik Merge

  1. Jalankan git pull atau git merge → muncul konflik.
  2. Buka file bertanda <<<<<<< & >>>>>>>, pilih/rapikan.
  3. git add <file>
  4. Lanjutkan: git commit / git merge --continue

VS Code: gunakan tombol Accept Current/Incoming di editor.

Ringkas Alur Kerja Harian

Mulai Fitur Baru

git switch main
git pull
git switch -c feature/nama-fitur

Kerja & Simpan

git add .
git commit -m "feat: deskripsi singkat"

Sinkron dgn Main

git pull origin main
# atau rebase: git rebase origin/main

Selesaikan

git switch main
git merge feature/nama-fitur
git push

Pesan commit singkat & jelas (±50 karakter baris pertama).

Sering Ditanyakan (FAQ Mini)

Perbedaan pull vs fetch?

git pull = fetch + merge otomatis. git fetch hanya mengambil perubahan.

Reset --soft vs --hard?

--soft batalkan commit, simpan perubahan di staging. --hard menghapus semua perubahan lokal.

Undo file yang sudah di‑add?

Pakai git restore --staged <file>.