Tiga Area Git: Working Directory, Staging, Repository

Memahami alur perubahan sebelum menjadi commit, dan memakai git add serta git status dengan benar.

Part 3 dari 22 ± 30 menit Gratis

Model mental terpenting di Git

Perubahan tidak langsung menjadi riwayat. Ia melewati tiga area:

AreaIsiPindah ke area berikutnya dengan
Working directory (folder kerja)Berkas yang kamu edit sehari-harigit add
Staging area (index)Perubahan yang akan masuk ke commit berikutnyagit commit
Repository (.git)Riwayat commit permanen—

Analogi: kamu berkemas untuk pindahan. Barang-barang di rumah = working directory. Barang yang sudah kamu masukkan ke dalam kardus = staging area. Kardus yang sudah ditutup, dilem, dan diberi label = commit.

Kenapa ada staging area?

Staging area memberi kendali. Misalnya kamu mengedit 5 berkas: 2 untuk perbaikan bug, 3 untuk fitur baru. Kamu bisa add hanya 2 berkas bug, commit "Perbaiki bug", lalu mengurus sisanya di commit terpisah. Riwayat jadi rapi dan mudah dipahami.

Empat status sebuah berkas

  • Untracked — berkas baru yang belum dikenal Git.
  • Modified — berkas yang sudah dilacak dan berubah, belum di-stage.
  • Staged — perubahan sudah masuk staging, siap di-commit.
  • Committed — perubahan sudah tersimpan aman di riwayat.

Perintah git add

git add halo.txt          # satu berkas
git add halo.txt data.txt # beberapa berkas
git add src/              # satu folder
git add *.txt             # pola
git add .                 # semua perubahan di folder ini
git add -A                # semua perubahan di seluruh repo (termasuk penghapusan)

Membaca git status

On branch main

Changes to be committed:                  <- STAGED
  (use "git restore --staged <file>..." to unstage)
        new file:   halo.txt

Untracked files:                          <- UNTRACKED
  (use "git add <file>..." to include in what will be committed)
        catatan.txt

Mode ringkas: git status -s. Kolom kiri = staging, kolom kanan = working directory:

A  halo.txt     # A = baru, sudah staged
 M data.txt     # M di kolom kanan = diubah, belum staged
M  app.txt      # M di kolom kiri = diubah, sudah staged
?? catatan.txt  # ?? = untracked

Berkas yang diubah lagi setelah di-add

Staging menyimpan snapshot saat kamu add. Jika kamu mengedit berkas setelah git add, berkas itu muncul di dua daftar: versi lama di staged, versi baru di "not staged". Jalankan git add lagi untuk memperbarui staging.

Menulis berkas di simulator

echo "Halo Git" > halo.txt      # membuat / menimpa berkas
echo "baris baru" >> halo.txt  # menambah di akhir

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X