gitstatusPemula3 mnt baca

git status: Membaca Kondisi Repo

Memahami output git status secara mendalam: staged, unstaged, untracked, dan mode short.

Perintah yang paling sering diketik

git status adalah perintah yang akan paling sering kamu jalankan, mengalahkan semua perintah Git lainnya digabung. Ia menjawab tiga pertanyaan penting dalam satu tarikan napas: file apa yang berubah, perubahan mana yang sudah di-staging, dan branch apa yang sedang aktif.

Analoginya seperti kaca spion: sebelum belok (commit, checkout, pull), kamu mengecek dulu kondisi sekitar. Mengecek tidak butuh waktu lama, tapi menyelamatkanmu dari kecelakaan. Programmer berpengalaman mengetik git status secara refleks, seperti mengecek spion sebelum pindah jalur.

Kenapa perintah ini ada? Karena Git itu "buta" tanpa perintah ini. Kamu mengedit file di editor, tapi Git tidak memberitahumu apa-apa sampai kamu bertanya. git status adalah cara bertanya "hei Git, kondisinya gimana sekarang?" dan Git selalu menjawab dengan jujur plus saran perintah berikutnya.

Contoh nyata 1: membaca output lengkap

Siapkan kondisi campuran: satu file di-staging, satu file diubah tapi belum di-staging, satu file baru:

bash
git status
bash
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   style.css

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
        modified:   index.html

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

Cara membacanya dari atas ke bawah:

  • On branch main: kamu sedang di branch main. Penting dicek sebelum commit supaya tidak commit di branch yang salah.
  • Changes to be committed: style.css sudah di-staging, akan ikut commit berikutnya.
  • Changes not staged for commit: index.html berubah tapi belum di-add, tidak akan ikut commit.
  • Untracked files: baru.txt belum dikenal Git sama sekali.

Perhatikan Git bahkan memberi tahu perintah apa yang harus dijalankan untuk tiap kondisi, lengkap dengan nama file-nya. Baca sarannya, jangan diabaikan. Git itu asisten yang cerewet tapi membantu.

Contoh nyata 2: mode short untuk yang sudah paham

Output lengkap memang jelas, tapi panjang. Kalau sudah paham polanya, pakai versi ringkas:

bash
git status --short
bash
M  style.css
 M index.html
?? baru.txt

Dua kolom, masing-masing satu huruf. Kolom kiri = staging area, kolom kanan = working directory:

  • M (M di kiri): staged, perubahan akan ikut commit.
  • M (M di kanan): belum di-staging, masih di working directory saja.
  • ??: file baru, belum dikenal Git.
  • Bonus yang sering muncul: A = file baru yang sudah di-staging, D = file yang dihapus dan sudah di-staging, MM = di-staging lalu diubah lagi.

Butuh info branch juga dalam mode ringkas? Tambahkan --branch:

bash
git status --short --branch
bash
## main...origin/main
M  style.css
 M index.html
?? baru.txt

Baris ## main...origin/main memberitahumu branch lokal main terhubung ke origin/main di remote.

Kapan menjalankan git status?

Jawaban idealis: sebelum dan sesudah setiap git add dan git commit. Jawaban realistis: setiap kali kamu bingung "tadi aku ngubah apa saja?". Jadikan kebiasaan mengetik git status tiap kembali ke terminal setelah ngoding, seperti mengecek kaca spion sebelum belok. Lima detik yang menghemat lima puluh menit kebingungan.

Momen wajibnya: sebelum commit (pastikan yang di-staging sesuai rencana), sebelum pull/push (pastikan working directory bersih), dan sebelum pindah branch (perubahan yang belum di-commit bisa terbawa atau bentrok).

Catatan teknis: git status tidak mengubah apa pun di repo, 100% aman dijalankan kapan saja, bahkan di tengah operasi Git lain. Ia hanya membaca tiga area (working directory, staging, repository) dan membandingkannya. Perintah ini murni "baca", tidak ada efek samping.

Kesalahan umum pemula

Salah: Panik melihat bagian Untracked files yang panjang (misalnya folder node_modules/), mengira repo-nya rusak. Benar: Itu normal. Untracked artinya Git belum mengenal file itu, bukan error. Solusinya: daftarkan pola folder itu di .gitignore (dibahas di bab 4) supaya tidak muncul lagi.

Salah: Mengabaikan saran perintah yang ditulis Git di output, lalu googling "cara unstage file git" padahal jawabannya sudah tertulis di layar. Benar: Baca outputnya. Baris seperti (use "git restore --staged <file>..." to unstage) adalah instruksi langsung, bukan hiasan.

Salah: Menjalankan perintah penting (commit, checkout, pull) tanpa cek status dulu, lalu kaget ada file nyasar ikut ke-commit. Benar: Jadikan git status sebagai "pintu masuk" setiap sesi terminal. Kebiasaan ini memisahkan pemula yang sering apes dari yang jarang apes.

Salah: Mengira git status bisa merusak sesuatu sehingga takut menjalankannya di repo orang lain. Benar: Tidak mungkin rusak. git status hanya membaca, tidak menulis. Jalankan sebebasnya, di repo mana pun, kapan pun.

Tantangan

Tebak output status

Di repo latihan: ubah satu baris di file yang sudah di-commit, lalu buat file baru catatan.txt. Tanpa menjalankan perintahnya, tulis di kertas apa output git status --short yang kamu harapkan. Baru jalankan perintahnya dan cocokkan. Ulangi sampai tebakanmu selalu benar.