{count, plural, one {Kursus} other {Kursus}}
Saat mengerjakan proyek Git yang kompleks, mudah untuk kehilangan jejak file mana yang telah dimodifikasi, di-staging, atau masih belum dilacak. Di sinilah git status berperan. Perintah Git penting ini memberikan gambaran yang jelas dan komprehensif tentang keadaan repositori saat ini—menyoroti file mana yang berubah, apa yang siap dikomit, dan apa yang masih perlu diperhatikan.
Baik saat Anda menyelesaikan konflik merge, meninjau perubahan yang di-staging, atau memastikan tidak ada yang tertinggal sebelum commit, git status memberikan visibilitas yang dibutuhkan untuk tetap teratur.
Dalam panduan ini, saya akan menjelaskan setiap bagian output git status dan membahas kustomisasi lanjutan, membantu Anda mendapatkan kontrol yang lebih baik atas alur kerja kontrol versi Anda.
Apa itu Git Status?
Perintah git status memberikan ringkasan waktu nyata tentang keadaan repositori Git Anda. Secara khusus, perintah ini membandingkan working directory (file lokal Anda) dan staging area (juga dikenal sebagai index) dengan snapshot commit terakhir. Ini memungkinkan Anda melihat file mana yang telah dimodifikasi, perubahan mana yang di-staging dan siap dikomit, serta file baru mana yang masih belum dilacak.
Dengan menjalankan git status, pengembang dapat memverifikasi bahwa perubahan yang tepat sedang di-staging atau di-commit, menangkap suntingan yang terlewat, dan menghindari memasukkan pembaruan yang belum lengkap. Ini sangat berharga saat mengelola banyak branch atau menyelesaikan konflik merge, karena memberikan umpan balik yang tepat tentang apa yang dilacak Git dan apa yang tidak.
Memahami bagaimana git status mencerminkan interaksi antara working tree, staging area, dan riwayat repositori adalah kunci untuk menggunakan Git secara efektif dan menghindari kesalahan umum.

Diagram di atas menggambarkan hubungan antara working directory, staging area, dan repositori (riwayat commit)—serta bagaimana git status berperan:
- Perubahan yang belum di-staging (file yang dimodifikasi di working directory Anda) akan muncul sebagai "Changes not staged for commit."
- Perubahan yang di-staging (file yang ditambahkan ke index dengan
git add) muncul sebagai "Changes to be committed." - File yang belum dilacak (file baru yang belum pernah dilihat Git) juga akan dicantumkan, mendorong Anda untuk menambahkannya atau mengabaikannya.
- Jika Anda sedang dalam proses merge,
git statusjuga akan memberi tahu tentang konflik dan langkah selanjutnya yang perlu dilakukan.
Contoh output git status:
$ git status
On branch feature/login
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: src/auth.js
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: src/utils.js
Untracked files:
(use "git add <file>..." to include in what will be committed)
src/new-feature.js
Untuk pemahaman yang lebih luas tentang Git dan perannya dalam version control, lihat panduan lengkap Git ini.
Cara Menggunakan Git Status
Berikut pendekatan langkah demi langkah untuk memanfaatkan git status secara efektif dalam alur kerja Anda.
Jika Anda belum mengonfigurasi Git, panduan penyiapan ini memandu Anda melalui instalasi dan konfigurasi awal di berbagai sistem.
Penggunaan dasar git status
- Buka terminal Anda:
Gunakan terminal atau antarmuka baris perintah pilihan Anda. Ini memberi Anda akses langsung untuk menjalankan perintah Git dan melihat keadaan repositori Anda secara waktu nyata.
- Masuk ke direktori proyek Anda:
Gunakan perintah cd untuk berpindah ke folder tempat proyek Git Anda berada.
cd /path/to/your/project
- Jalankan
git status:
Setelah berada di direktori proyek Anda, jalankan perintah berikut.
git status
Seperti yang kita lihat sebelumnya, Git akan menampilkan output yang biasanya mencakup:
- Nama branch saat ini.
- Daftar perubahan yang di-staging dan siap dikomit.
- Daftar file yang dimodifikasi tetapi belum di-staging.
- File yang belum dilacak—file baru yang belum ditambahkan ke Git.
Menggunakan format singkat
Jika Anda membutuhkan cuplikan cepat tanpa detail tambahan, format singkat adalah pilihan yang tepat:
git status --short
Tampilan ringkas ini mencantumkan setiap file dalam satu baris dengan simbol status, yang sangat berguna saat memindai perubahan tertentu atau mengintegrasikan perintah ini ke dalam skrip.
Contoh output:
M index.html
A new-script.js
?? temp.txt
Menafsirkan output:
- Karakter pertama menunjukkan status di staging area.
- Karakter kedua menunjukkan status di working directory.
|
Kode |
Makna |
|
M |
Dimodifikasi |
|
A |
Ditambahkan |
|
D |
Dihapus |
|
?? |
File tidak terlacak |
|
MM |
Dimodifikasi pada kedua tahap |
|
AM |
Ditambahkan, lalu dimodifikasi |
Memahami opsi -u di git status
Opsi -u (singkatan dari --untracked-files) memungkinkan Anda mengontrol bagaimana file yang belum dilacak ditampilkan dalam output, yang dapat relevan pada proyek dengan banyak file yang dihasilkan. Berikut arti setiap mode:
normal(default)
Menampilkan file yang belum dilacak dalam format standar yang hemat ruang.
Contoh:
git status -u normal
Ini adalah perilaku standar yang paling sering dilihat pengembang saat menjalankan git status.
all
Mencantumkan setiap file yang belum dilacak—bahkan yang diabaikan secara default.
Contoh:
git status -u all
Mode ini memberi visibilitas menyeluruh, yang dapat membantu saat men-debug masalah pembuatan file atau meninjau apa yang dikecualikan melalui .gitignore.
-
no
Menyembunyikan file yang belum dilacak agar Anda dapat fokus hanya pada perubahan file yang sudah dilacak Git.
Contoh:
git status -u no
Dalam salah satu proyek besar saya—aplikasi Node.js dengan proses build yang kompleks—output git status penuh dengan file sementara, cache, dan artefak build. Menambahkan opsi -u no memungkinkan saya fokus secara eksklusif pada perubahan file yang dilacak tanpa gangguan dari file sementara atau yang dibuat otomatis.
Menyesuaikan output dengan --porcelain
Untuk tugas skrip atau otomatisasi, output yang dapat diprediksi itu penting. Opsi --porcelain menyediakan format git status yang bersih, stabil, dan mudah dibaca mesin, ideal untuk digunakan dalam alat kustom atau alur kerja CI/CD:
git status --porcelain
Mode ini meniru format singkat (--short) tetapi menjamin output yang konsisten di berbagai versi dan konfigurasi Git. Berbeda dengan git status default, yang mungkin menyertakan jeda baris ekstra, petunjuk, atau warna tergantung pada pengaturan pengguna, --porcelain menghapus semua pemformatan tersebut—memastikan skrip dapat mengurai output secara andal.
Langkah Selanjutnya Setelah Menjalankan Git Status
Setelah Anda menjalankan git status dan menganalisis output, saatnya menentukan langkah berikutnya—apakah itu melakukan staging file, meng-commit pembaruan, atau merapikan working directory Anda. Berikut cara melanjutkannya.
Melakukan staging file untuk commit
Staging menyiapkan perubahan Anda untuk dimasukkan dalam commit berikutnya. Anda dapat memilih untuk melakukan staging file tertentu atau semuanya sekaligus.
- Staging file tertentu:
Gunakan ini saat Anda ingin kontrol yang presisi atas apa yang akan di-commit.
git add <file-name>
- Staging semua perubahan:
Ini termasuk file yang dimodifikasi dan yang baru ditambahkan di direktori saat ini.
git add .
- Staging hanya perubahan pada file yang sudah dilacak (tidak termasuk file baru yang belum dilacak):
git add -u
Saya menyarankan untuk meninjau perubahan menggunakan git status atau git diff dengan saksama sebelum melakukan staging agar tidak secara tidak sengaja menyertakan file yang tidak diinginkan. Memadukan git status dengan perintah git diff memberikan wawasan yang lebih dalam tentang apa yang berubah di file Anda.
Meng-commit perubahan
Setelah melakukan staging perubahan, langkah berikutnya adalah membuat commit. Pesan commit yang jelas dan deskriptif tidak hanya mencatat apa yang berubah, tetapi juga mengapa perubahan dilakukan—sehingga lebih mudah memahami riwayat proyek dari waktu ke waktu.
git commit -m "Describe your changes here"
Praktik terbaik untuk pesan commit:
- Gunakan bentuk imperatif (mis., “Perbaiki bug login”, bukan “Memperbaiki bug login”).
- Usahakan baris ringkasan di bawah 50 karakter bila memungkinkan.
- Jika perlu, gunakan pesan multi-baris (
git committanpa-m) untuk memisahkan ringkasan dan penjelasan terperinci.
Saya belajar bahwa meluangkan satu menit ekstra untuk menulis pesan commit yang bermakna dapat menghemat banyak waktu saat peninjauan atau sesi debugging di kemudian hari. Setelah perubahan Anda ditinjau, pertimbangkan melakukan squash commit untuk merapikan riwayat Git Anda.
Menangani file yang belum dilacak
File yang belum dilacak dapat membuat output git status menjadi berantakan, terutama pada proyek dengan artefak build, log, atau direktori dependensi. Jika ada file atau direktori yang tidak pernah ingin Anda lacak, Anda dapat mengecualikannya dengan menambahkan entri ke file .gitignore di root repositori Anda.
# Ignore dependency folders and log files
node_modules/
*.log
# Ignore system files
.DS_Store
Thumbs.db
Ini memastikan hanya file yang relevan yang ada di repositori Anda, menjaga output git status tetap bersih dan fokus. Saat Anda perlu menghapus file yang belum dilacak yang tersisa dari working directory Anda, git clean juga merupakan alat yang menarik.
Meninjau status secara berkala
Sering menjalankan git status adalah kebiasaan sederhana namun kuat yang membantu menjaga alur kerja pengembangan tetap bersih dan terkendali. Anda dapat menghindari kesalahan umum seperti meng-commit perubahan yang belum lengkap atau melewatkan file yang belum dilacak dengan memeriksa status working directory dan staging area secara berkala—terutama sebelum commit, beralih branch, atau merge.
Sekarang saya memasukkan langkah ini ke dalam rutinitas harian saya, sehingga secara signifikan mengurangi kesalahan dalam riwayat commit saya.
Pemecahan Masalah Umum pada Git Status
Meskipun sederhana, terkadang git status dapat menghasilkan informasi yang berlebihan atau membingungkan. Berikut beberapa masalah umum dan cara menanganinya.
File yang tidak diinginkan dan belum dilacak
Dalam proyek besar, terutama yang menggunakan berbagai alat build, Anda mungkin melihat banyak file yang tidak pernah bermaksud untuk dilacak. Jika ini muncul, verifikasi pengaturan .gitignore Anda, dan jika perlu, hapus dari pelacakan menggunakan:
git rm --cached <file-name>
Setelah memperbarui .gitignore dan menggunakan git rm --cached, jalankan git status lagi untuk memverifikasi bahwa file tersebut tidak lagi dilacak atau muncul tanpa perlu.
Output yang berlebihan
Dalam proyek dengan banyak file—terutama yang menghasilkan log, cache, atau aset sementara—output dari git status bisa menjadi bising dan sulit dipindai. Ini menyulitkan untuk fokus pada perubahan bermakna yang membutuhkan perhatian.
Dalam kasus ini, Anda dapat menampilkan ringkasan singkat, satu baris per file:
git status --short
Atau sembunyikan sepenuhnya file yang belum dilacak dari output:
git status -u no
Bersama-sama, opsi ini membuat git status lebih fokus dan mudah dicerna—terutama pada codebase yang lebih besar atau alur kerja otomatis.
Kesimpulan
Singkatnya, git status adalah alat yang sangat penting yang menawarkan jendela waktu nyata ke kesehatan repositori Anda. Dengan menguasai tampilan default, format singkat, dan opsi lanjutan seperti flag -u, Anda dapat menyederhanakan alur kerja Git dan menghindari jebakan umum. Bereksperimenlah dengan mode ini pada proyek Anda dan rasakan bagaimana kejelasan dalam mengelola perubahan mempercepat proses pengembangan Anda.
Jika Anda baru mengenal Git, memahami git status akan menjadi lebih kuat saat dipadukan dengan git init, perintah yang menginisialisasi repositori. Jika belum, silakan periksalah Tutorial Git Init saya untuk mempelajari cara menyiapkan repositori dari awal.
Dan jika Anda ingin memperdalam keterampilan Git lebih jauh, jelajahi kursus-kursus DataCamp berikut:
- Intermediate Git – Tingkatkan keterampilan Anda dengan teknik branching, merging, dan penyelesaian konflik.
- GitHub Foundations – Pelajari cara mengintegrasikan Git dengan GitHub untuk proyek kolaboratif.
Selamat ngoding—dan semoga selalu selaras sempurna dengan repositori Anda!
FAQs
Apa perbedaan git status dengan git diff?
Sementara git status menampilkan ringkasan perubahan, git diff menampilkan perbedaan konten sebenarnya antar file, menawarkan perbandingan yang lebih detail.
Bisakah saya menyesuaikan output git status?
Ya, dengan opsi seperti --short, --porcelain, dan -u, Anda dapat menyesuaikan output agar lebih ringkas atau ramah skrip, sesuai kebutuhan Anda.
Apa perbedaan perubahan staged dan unstaged di Git?
Perubahan yang di-staging ditambahkan ke index dan siap dikomit, sementara perubahan yang belum di-staging masih berada di working directory Anda dan belum ditandai untuk commit.
Bagaimana cara mengabaikan file yang muncul di git status?
Anda dapat menambahkan pola file ke file .gitignore untuk mencegah file tertentu (seperti log atau artefak build) muncul sebagai tidak terlacak di git status.
Mengapa file tidak terlacak terus muncul di git status?
File yang belum dilacak adalah file yang belum ditambahkan ke index Git. File tersebut akan terus muncul jika tidak diabaikan secara eksplisit di .gitignore atau di-staging dengan git add.
Bagaimana git status membantu mencegah commit yang buruk?
Dengan menjalankan git status sebelum commit, Anda dapat meninjau semua perubahan yang di-staging dan belum di-staging, memastikan Anda tidak melewatkan file atau secara tidak sengaja meng-commit sesuatu yang belum lengkap.
Apakah git status berguna untuk menyelesaikan konflik merge?
Tentu. git status menyoroti konflik dan memandu Anda cara menyelesaikannya sebelum menyelesaikan merge.
Seberapa sering saya harus menggunakan git status dalam alur kerja saya?
Sering! Menggunakan git status sebelum staging, commit, atau berpindah branch membantu Anda tetap teratur dan menghindari kesalahan yang mahal.
Saya seorang data engineer dan pembangun komunitas yang bekerja lintas pipeline data, cloud, dan perkakas AI sambil menulis tutorial praktis dan berdampak tinggi untuk DataCamp dan pengembang yang sedang berkembang.

