Dasar
Git menyimpan snapshot perubahan & memudahkan kolaborasi.
.git).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
- Jalankan
git pullataugit merge→ muncul konflik. - Buka file bertanda
<<<<<<<&>>>>>>>, pilih/rapikan. git add <file>- 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>.