Working Directory vs Staging Area vs Local Repository: Memahami Tiga Zona Lokal Git
By Mirko Peters ·
Kuasai tiga zona lokal Git: pelajari cara working directory, staging area, dan local repository bekerja bersama untuk memberi Anda kendali presisi atas riwayat proyek.
Automatically translated with AI from the original post. Read the English original

Memahami tiga area lokal Git—working directory, staging area, dan local repository—sangat penting untuk beralih dari penyalinan file yang kacau ke version control yang terencana. Panduan ini menjelaskan cara setiap zona berfungsi seperti kantor fisik untuk memberi Anda kendali presisi atas riwayat proyek.
Poin Penting
- Working directory adalah folder proyek aktif Anda, berfungsi seperti meja kerja yang berantakan tempat Anda bebas mengedit file.
- Staging area berperan sebagai baki tinjauan, hanya menampung perubahan spesifik yang Anda pilih menggunakan
git adduntuk titik simpan berikutnya. - Local repository berfungsi sebagai lemari arsip, secara permanen mencatat perubahan yang telah di-stage sebagai riwayat commit yang terstruktur.
- Perintah git status dan git diff menyediakan pemeriksaan keamanan agar Anda dapat meninjau apa yang terjadi di seluruh area lokal sebelum mencatat riwayat.
- Memahami ketiga zona ini mencegah commit yang tidak disengaja dan membantu Anda menjaga riwayat proyek tetap bersih serta logis.
Working Directory: Meja Aktif Anda
Saat Anda membuka folder proyek di komputer dan mulai melakukan suntingan, Anda sebenarnya bekerja langsung di zona lokal pertama Git: working directory. Bayangkan folder ini sebagai meja kerja fisik Anda. Folder ini berisi setiap file yang Anda buka, buat, ubah, atau hapus, termasuk kode situs web, dokumentasi, file konfigurasi, dan gambar.
Seperti meja sungguhan, working directory Anda bisa berantakan saat Anda bereksperimen. Anda mungkin mulai menulis ulang tombol masuk, menemukan salah ketik di file readme, lalu membuat skrip eksperimental untuk menguji tata letak baru. Git tidak otomatis memasukkan setiap perubahan ke riwayat permanen hanya karena perubahan itu terjadi di folder ini. Anda bebas mencoba ide, membuat kesalahan, dan meninggalkan pekerjaan yang belum selesai tanpa mengubah catatan proyek secara permanen.
Untuk melihat apa saja yang berubah di working directory sejak titik simpan terakhir, Anda mengandalkan perintah git status. Secara sederhana, meminta status dari Git seperti menghitung semua barang yang ada di atas meja Anda. Perintah ini mengidentifikasi file yang diubah, baru, dan dihapus, serta menunjukkan dengan jelas apa saja yang berubah sejak commit terakhir.
Staging Area: Baki Tinjauan
Staging area mungkin merupakan konsep yang paling sering disalahpahami oleh pengembang yang baru mengenal version control, sebagian karena namanya terdengar seperti ruang penyimpanan teknis yang misterius. Sebaliknya, bayangkan staging area sebagai baki tinjauan di samping meja kerja Anda. Anda hanya menaruh perubahan yang ditujukan untuk titik simpan berikutnya ke dalam baki ini.
Misalkan pagi Anda dihabiskan untuk memperbaiki tautan atur ulang kata sandi yang kritis, sambil juga memulai eksperimen desain ulang layar selamat datang. Anda tentu ingin mencatat perbaikan kata sandi, tetapi desain ulang belum selesai dan masih mengandung bug. Anda tidak ingin kedua perubahan tersebut masuk dalam commit yang sama.
Dengan menjalankan git add diikuti file reset kata sandi Anda, Anda menempatkan perubahan spesifik dan sudah selesai tersebut ke area staging. Meskipun namanya seperti itu, git add tidak menyimpan pekerjaan Anda secara permanen dan tidak mengirim apa pun ke server online. Perintah ini hanya menyiapkan versi file yang bersih dan telah dipilih untuk titik pemeriksaan berikutnya. Jeda kecil ini memberi Anda kendali yang sangat besar. Anda dapat meninjau perubahan yang sudah masuk staging, menghapus item yang ditambahkan terlalu dini, atau menambahkan file lain yang termasuk dalam unit pekerjaan logis yang sama.
Repositori Lokal: Lemari Arsip
Setelah baki tinjauan Anda berisi kumpulan perubahan yang tepat ingin Anda simpan, perubahan tersebut berpindah ke zona ketiga Git: repositori lokal. Jika direktori kerja adalah meja Anda dan area staging adalah baki tinjauan, maka repositori lokal adalah lemari arsip Anda yang aman.
Repositori lokal menyimpan semua commit dan riwayat proyek Anda langsung di komputer Anda, di dalam folder sistem tersembunyi. Ketika Anda menjalankan git commit -m "Fix password reset link", Git mengambil perubahan yang sudah disiapkan dari area staging dan mengunci perubahan tersebut menjadi titik pemeriksaan permanen yang diberi nama.
Arsitektur yang mengutamakan lokal ini berarti Anda dapat membangun riwayat proyek yang lengkap dan dapat dilacak tanpa koneksi internet atau layanan hosting online. Semuanya terjadi dengan aman di perangkat keras Anda sendiri. Alur kerja harian Anda menjadi ritme yang andal: Anda mengedit file di direktori kerja, memeriksa kondisi dengan git status, memilih perubahan tertentu dengan git add, dan mencatat pilihan Anda dengan git commit.
Kesimpulan
Menguasai perbedaan antara direktori kerja, area staging, dan repositori lokal mengubah cara Anda mendekati proyek pengembangan. Dengan memperlakukan folder Anda sebagai ruang kerja, area staging sebagai baki tinjauan, dan repositori lokal sebagai lemari arsip permanen, Anda mendapatkan kendali penuh atas riwayat proyek Anda.
Untuk mendalami dasar-dasar version control, Dengarkan episode lengkapnya di M365 FM Podcast untuk mendengar Mirko Peters menjelaskan Git dengan bahasa yang sederhana dan mengetahui bagaimana mekanisme lokal ini cocok dengan alur kerja tim yang lebih luas.
Pertanyaan Umum
Apa perbedaan antara direktori kerja dan area staging?
Direktori kerja adalah folder proyek aktif tempat Anda bebas mengedit, membuat, dan menghapus file. Area staging adalah baki tinjauan selektif tempat Anda hanya menempatkan perubahan tertentu yang ingin disertakan dalam commit berikutnya.
Apakah git add menyimpan file saya secara permanen?
Tidak. Perintah git add menyiapkan file Anda dengan memindahkannya ke area staging, tetapi tidak mencatatnya secara permanen dalam riwayat proyek atau mengirimnya ke online. Pencatatan permanen hanya terjadi ketika Anda menjalankan git commit.
Bisakah saya menggunakan Git tanpa layanan hosting online?
Bisa. Git dirancang untuk bekerja sepenuhnya secara lokal di komputer Anda. Anda dapat membuat repositori lokal, melakukan commit, mengelola branch, dan memeriksa riwayat tanpa pernah terhubung ke GitHub atau internet.
Apa yang harus saya lakukan jika saya salah memasukkan file ke area staging?
Jika Anda memasukkan file ke area staging terlalu dini, Git menyediakan perintah unstage (seperti git reset) yang dapat menghapus file tersebut dari area staging dengan aman dan mengembalikannya ke direktori kerja tanpa kehilangan perubahan terbaru Anda.