Git Add dan Commit: Menyimpan Perubahan
Pahami staging area, cara memilih perubahan dengan git add, dan menyimpan snapshot dengan git commit.
Alur dua langkah: add lalu commit
Ingat tiga area kerja dari modul pengenalan? Menyimpan perubahan di Git selalu dua langkah:
git add→ memindahkan perubahan dari working directory ke staging area (ruang tunggu).git commit→ menyimpan isi staging area ke repository sebagai snapshot permanen.
Kenapa dua langkah? Supaya kamu bisa memilih perubahan mana yang masuk ke satu commit. Misalnya kamu mengubah 5 file tapi hanya 3 yang berkaitan dengan satu fitur, kamu bisa commit 3 file itu dulu, sisanya nanti. Hasilnya riwayat yang rapi dan mudah dibaca.
git add: memilih apa yang disimpan
# tambah satu file spesifik
git add index.html
# tambah semua perubahan di folder saat ini
git add .
# tambah semua perubahan di seluruh proyek (dari subfolder mana pun)
git add -AKapan pakai yang mana? Untuk proyek kecil dan kamu yakin semua perubahan memang satu paket, git add . paling praktis. Untuk proyek yang lebih serius, tambah file satu per satu supaya commit-mu fokus.
git commit: menyimpan snapshot
git commit -m "Tambah halaman tentang"Flag -m artinya message, pesan yang menjelaskan apa dan kenapa perubahan ini dibuat. Contoh output sukses:
[main 3f2a1b9] Tambah halaman tentang
1 file changed, 24 insertions(+)Hash 3f2a1b9 adalah ID unik commit tersebut. Kamu akan memakainya nanti saat ingin melihat atau kembali ke versi ini.
Menulis pesan commit yang baik
Pesan commit dibaca oleh dirimu di masa depan dan oleh timmu. Aturannya sederhana:
- Pakai kalimat perintah: "Tambah fitur login", bukan "Menambahkan fitur login" atau "fitur login nih"
- Satu commit = satu perubahan logis. Jangan campur "perbaiki bug + tambah fitur + rapikan kode" dalam satu commit
- Kalau perubahannya butuh penjelasan, tulis baris pertama singkat, baris kosong, lalu penjelasan
Contoh yang baik:
git commit -m "Perbaiki validasi email di form daftar"
git commit -m "Tambah halaman 404 dengan tombol kembali"Contoh yang buruk:
git commit -m "update"
git commit -m "fix"
git commit -m "asdasd"Pesan seperti "update" tidak memberi informasi apa pun saat kamu melihat riwayat tiga bulan kemudian.
Latihan mini
Coba rangkaian lengkap ini di repository hasil git init:
echo "Halo Git" > halo.txt
git add halo.txt
git commit -m "Tambah file halo.txt"
git log --onelineOutput terakhir menunjukkan commit-mu tercatat:
3f2a1b9 (HEAD -> main) Tambah file halo.txtSelamat, kamu baru saja membuat snapshot pertamamu.
Catatan teknis: Commit menyimpan snapshot seluruh proyek, bukan hanya file yang diubah. Tapi Git pintar: file yang tidak berubah tidak diduplikasi, ia hanya menunjuk ke data yang sama. Jadi commit itu murah dan cepat walau proyekmu besar. Satu hal penting: jangan pernah commit file rahasia seperti password atau API key. Sekali masuk riwayat, file itu sulit dihapus bersih. File seperti itu diatur lewat
.gitignoreyang dibahas di modul tersendiri.
Ringkasan
git add memilih, git commit -m menyimpan. Lakukan commit sering-sering dalam unit kecil yang jelas, dan tulis pesan yang menjelaskan kenapa perubahan itu ada. Kebiasaan ini yang membedakan repository rapi dengan repository berantakan.