Memahami cara kerja internal Git adalah kunci agar tidak bingung saat menggunakan perintah-perintahnya. Git membagi alur kerjamu menjadi tiga area utama.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Komputer Lokal β
β β
β βββββββββββββ git add βββββββββββββ git commit β
β β Working β βββββββββββ β Staging β βββββββββββββ β
β β Tree β β Area β β
β β β βββββββββββ β (Index) β β
β βββββββββββββ git restoreβββββββββββββ β
β β β β
β βββββββββββββββ β
β β Local Repo β β
β β (.git/) β β
β βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. Working Tree (Working Directory) Folder proyekmu yang terlihat di file explorer β tempat kamu mengedit file sehari-hari. Git memantau setiap perubahan yang terjadi di sini.
2. Staging Area (Index)
Area perantara sebelum commit. Kamu memilih perubahan mana yang ingin dimasukkan ke commit berikutnya dengan git add. Anggap ini sebagai "draft" commitmu.
3. Local Repository
Database Git yang tersimpan di folder .git/. Setiap git commit menyimpan snapshot permanen dari staging area ke sini.
Setiap file dalam repositori Git memiliki status:
git add
Untracked ββββββββββββββββββββββ Staged
β β
β git commit
β β
β git rm βββββββββββββββ Unmodified
ββββββββββββββββ β (sudah di-commit)
β β
β (edit file)
β β
βββββββββββ Modified
β
git add
β
Staged
git add dan siap di-commitBerbeda dengan sistem lain yang menyimpan perbedaan antar versi (delta), Git menyimpan snapshot β foto lengkap dari seluruh proyek setiap kali commit:
Sistem Delta (SVN):
Versi 1: file-A (penuh)
Versi 2: Ξ perubahan di file-A
Versi 3: Ξ perubahan di file-A
(untuk melihat versi 3 harus rekonstruksi dari v1 + delta)
Git (Snapshot):
Versi 1: snapshot seluruh proyek
Versi 2: snapshot seluruh proyek
Versi 3: snapshot seluruh proyek
(akses langsung ke versi mana pun)
File yang tidak berubah hanya disimpan sebagai pointer ke snapshot sebelumnya β efisien secara penyimpanan.
Setiap commit, file, dan tree di Git diberi hash SHA-1 β sebuah identifikasi unik sepanjang 40 karakter:
commit a3f5c2b8e1d4f7a9c0b2e5f8a1d3c6b9e2f5a8d1
Author: Budi Santoso <[email protected]>
Date: Mon Apr 27 09:30:00 2026
Tambah halaman kontak
Jika ada satu karakter pun yang berubah di file, hash-nya akan berbeda total. Ini menjamin integritas β kamu tahu persis jika ada data yang rusak atau dimanipulasi.
# 1. Edit file index.html di working tree
# 2. Pilih perubahan yang mau di-commit
git add index.html
# 3. Simpan snapshot permanen ke repository
git commit -m "Tambah navigasi header"
# Alur:
# Working Tree β (git add) β Staging Area β (git commit) β Repository
π‘ Tips: Staging area adalah fitur khas Git yang membedakannya dari sistem lain. Manfaatkan ini untuk membuat commit yang terfokus β satu commit untuk satu perubahan logis. Jangan asal
git add .lalu commit semua sekaligus tanpa memilah terlebih dahulu. π―
Kursus
Git Dasar
Kategori
Pengenalan Git
Durasi Pelajaran
20 menit