Kursus
Saat bekerja pada repositori Git, umum terjadi penumpukan file dan direktori yang tak terlacak dan bukan bagian dari sistem kontrol versi repositori. Ini bisa berupa file sementara, artefak build, atau file lain yang dibuat secara lokal dan tidak di-commit. Seiring waktu, file-file ini dapat mengotori direktori kerja, sehingga Anda makin sulit menjaga lingkungan kerja tetap bersih dan teratur.
Untuk mengatasi masalah ini, Git menyediakan perintah git clean yang menghapus file dan direktori tak terlacak. Dalam panduan ini, saya akan menunjukkan cara menggunakan git clean dengan aman, berbagai opsinya, serta praktik terbaik agar terhindar dari penghapusan file yang tidak diinginkan sekaligus menjaga repositori Git tetap rapi. Untuk pembelajaran lebih lanjut, saya merekomendasikan mengikuti kursus Foundations of Git dan Introduction to GitHub Concepts kami untuk mempelajari kontrol versi dan perbedaan antara Git dan GitHub.
Memahami git clean
Perintah git clean adalah alat yang berguna di Git untuk menghapus file tak terlacak dari direktori kerja. Perintah git clean bermanfaat saat Anda perlu mengatur ulang direktori kerja ke kondisi bersih, misalnya sebelum berpindah branch atau setelah menjalankan proses build yang menghasilkan file sementara. Namun, perintah git clean harus digunakan dengan hati-hati karena secara permanen menghapus file dan direktori tak terlacak tanpa memindahkannya ke tempat sampah atau recycle bin.
Berbeda dengan git reset atau git checkout yang memodifikasi file terlacak, git clean hanya menangani file dan direktori yang tidak berada di bawah kontrol versi. Ini mencakup:
-
File sementara yang dibuat oleh proses build
-
File log atau data cache
-
File yang tercantum di .gitignore (jika secara eksplisit ditentukan dengan
-x)
Perintah git clean berguna untuk menjaga direktori kerja tetap rapi, melengkapi perintah Git lain seperti git reset dan git checkout yang mengelola perubahan pada file terlacak.
Saya menganggap Complete Git Cheat Sheet sebagai panduan referensi yang praktis untuk perintah Git yang umum.
Penggunaan Umum untuk git clean
Perintah git clean adalah alat yang berguna untuk menjaga direktori kerja tetap bersih. Di bawah ini beberapa kasus penggunaan umum di mana git clean dapat menghapus file dan direktori yang tidak diperlukan dengan aman.
Menghapus file tak terlacak
Saat bekerja dalam repositori Git, file tak terlacak bisa menumpuk seiring waktu. Opsi berikut membantu menghapusnya:
-
git clean -f: Memaksa penghapusan file tak terlacak. -
git clean -fd: Menghapus file tak terlacak dan direktori tak terlacak. -
git clean -fx: Menghapus file tak terlacak dan diabaikan seperti yang tercantum di.gitignore.
Namun, Anda harus berhati-hati saat menggunakan opsi -fx karena juga menghapus file yang diabaikan. Selalu verifikasi terlebih dahulu menggunakan dry run (git clean -n) sebelum mengeksekusi perintah.
Mode interaktif
Perintah git clean -i mengaktifkan mode interaktif, memungkinkan pengguna untuk menghapus file tak terlacak secara selektif. Mode ini berguna saat Anda menginginkan kontrol lebih atas file atau direktori mana yang dihapus.
Misalkan Anda sedang mengerjakan proyek di mana perubahan dalam folder Olympics sudah disimpan. Namun, Anda menambahkan sumber data baru bernama 2024_Data dan 2025_Data. Jika Anda menjalankan perintah git clean -i, Anda akan mendapatkan prompt yang memungkinkan Anda memilih dari opsi berikut untuk menghapus perubahan tak terlacak.
-
clean: Hapus file yang dipilih -
filter: Tentukan pola untuk file yang akan dibersihkan -
select: Pilih file satu per satu berdasarkan nomor -
quit: Keluar tanpa menghapus apa pun

Mode interaktif git clean -i. Gambar oleh Penulis.
Dry run demi keamanan
Menggunakan opsi git clean -n adalah langkah pengaman yang berguna karena melakukan "dry run," menampilkan daftar file dan direktori tak terlacak yang akan dihapus tanpa benar-benar menghapusnya. Ini memungkinkan Anda meninjau perubahan sebelum mengeksekusinya.
Pada contoh di bawah, perintah git clean -n mencantumkan file yang seharusnya dihapus tetapi tidak menghapusnya.

git clean -n untuk dry run. Gambar oleh Penulis.
Mengombinasikan dengan git reset
Untuk mengatur ulang direktori kerja Git sepenuhnya, Anda dapat mengombinasikan git reset dan git clean di mana:
-
git reset --hard: Mengatur ulang file terlacak ke keadaan commit terakhir, membuang perubahan lokal apa pun. -
git clean -fd: Menghapus file dan direktori tak terlacak, menyisakan hanya file yang di-commit.
Kombinasi ini memastikan direktori kerja benar-benar bersih, sehingga berguna saat berpindah branch, membatalkan perubahan eksperimental, atau bersiap untuk memulai dari awal.
Lihat tutorial Git Pull Force: How to Overwrite a Local Branch With Remote untuk mempelajari praktik terbaik menimpa perubahan lokal.
Panduan Langkah demi Langkah Menggunakan git clean
Ikuti langkah-langkah berikut untuk membersihkan repositori Git Anda dengan aman dan menghapus file serta direktori tak terlacak yang tidak diinginkan.
Langkah 1: Periksa status saat ini
Sebelum membersihkan, jalankan git status untuk memeriksa status repositori saat ini guna melihat file mana yang tak terlacak.
git status

git status untuk memeriksa status repositori saat ini. Gambar oleh Penulis.
Langkah 2: Pratinjau apa yang akan dihapus
Sebelum menjalankan perintah penghapusan apa pun, gunakan git clean -n untuk melihat pratinjau apa yang akan dihapus.
git clean -n

git clean -n untuk meninjau apa yang akan dihapus. Gambar oleh Penulis.
Langkah 3: Hapus file tak terlacak
Jalankan git clean -f untuk menghapus file tak terlacak jika pratinjau sudah sesuai.
git clean -f

Hapus perubahan tak terlacak menggunakan git clean -f. Gambar oleh Penulis.
Langkah 4: Hapus direktori tak terlacak
Gunakan git clean -fd untuk menghapus direktori tak terlacak.
git clean -fd

Hapus direktori tak terlacak menggunakan git clean -fd. Gambar oleh Penulis.
Langkah 5: Hapus file yang diabaikan
Untuk menghapus file tak terlacak sekaligus file yang diabaikan, gunakan perintah git clean -fx.
git clean -fx
Langkah 6: Gunakan mode interaktif untuk pembersihan selektif
Untuk kontrol lebih lanjut, pertimbangkan menggunakan git clean -i untuk penghapusan secara interaktif. Mode ini memungkinkan Anda memilih file mana yang akan dihapus satu per satu.
Git clean -i

Mode interaktif git clean -i untuk pembersihan selektif. Gambar oleh Penulis.
git clean vs. Perintah Git Lain
Perintah git clean sering dibandingkan dengan perintah Git lain yang memodifikasi atau mengatur ulang file. Tabel di bawah menyoroti perbedaan utamanya:
| Perintah | Fungsi |
|---|---|
git clean |
Menghapus file dan direktori tak terlacak secara permanen. |
git reset |
Mengatur ulang file terlacak ke keadaan sebelumnya, memengaruhi perubahan yang distage dan di-commit. |
git checkout (atau git restore) |
Membuang perubahan pada file terlacak tetapi tidak menghapusnya. |
git stash |
Menyimpan perubahan terlacak dan tak terlacak sementara untuk digunakan nanti. |
Praktik Terbaik Git Clean
Agar git clean digunakan dengan aman dan efektif, ikuti praktik terbaik berikut:
-
Gunakan Dry Run (-n) Sebelum Penghapusan: Selalu gunakan opsi
git clean -nuntuk melakukan dry run sebelum mengeksekusigit clean. Ini memungkinkan Anda meninjau file mana yang akan dihapus tanpa benar-benar menghapusnya. -
Perhatikan File yang Diabaikan: Saat menggunakan
git clean, berhati-hatilah dengan opsi-xyang menghapus file yang diabaikan. Ini berpotensi menghapus file konfigurasi penting yang tercantum di.gitignore. Jika Anda perlu menghapus file yang diabaikan, gunakan perintahgit clean -fx. -
Gabungkan dengan Git Reset untuk Pembersihan Menyeluruh: Untuk benar-benar mengatur ulang repositori Anda, gabungkan
git resetdengangit clean, di managit reset --hardmengembalikan file terlacak ke keadaan commit terakhir dangit clean -fdmenghapus file serta direktori tak terlacak. -
Gunakan Mode Interaktif (-i) untuk Penghapusan yang Lebih Aman: Alih-alih menghapus file secara membabi buta, gunakan mode interaktif (
git clean -i) untuk meninjau dan memilih file yang akan dihapus.
Potensi Risiko dan Tindakan Pencegahan
Menggunakan git clean bisa berisiko jika tidak dilakukan dengan hati-hati, karena file dihapus secara permanen tanpa disimpan di mana pun. Berikut beberapa risiko utama dan tindakan pencegahan yang perlu dipertimbangkan:
-
File Dihapus Permanen: Berbeda dengan
git stashyang menyimpan perubahan sementara,git cleanmenghapus file dan direktori tak terlacak secara permanen. Setelah dihapus, file tersebut tidak dapat dipulihkan melalui Git. Jika Anda mungkin membutuhkannya nanti, pertimbangkan untuk melakukan stash atau mencadangkannya sebelum menjalankan perintahgit clean. -
Berhati-hati dengan Opsi -x: Menggunakan
git clean-fxmenghapus file yang diabaikan, yang mungkin mencakup file konfigurasi penting yang tercantum di.gitignoreatau cache dependensi sepertinode_modules/danvenv/. Tanpa sengaja menghapus file-file ini dapat merusak build atau lingkungan pengembangan, jadi gunakan opsi ini hanya bila perlu. -
Jalankan Dry Run Terlebih Dahulu: Selalu lakukan dry run menggunakan
git clean -nsebelum mengeksekusigit clean -f. Langkah ini memungkinkan Anda meninjau file mana yang akan dihapus, membantu menghindari penghapusan tidak sengaja terhadap file penting -
Pendekatan Alternatif: Dalam beberapa skenario, menggunakan
git stashmungkin lebih baik daripadagit clean. Perintahgit stash -umelakukan stash pada file tak terlacak, mengecualikan file yang diabaikan untuk pemulihan nanti, dangit stash popmengembalikan perubahan yang di-stash jika diperlukan. Metode ini berguna saat Anda perlu berpindah branch atau merapikan workspace tanpa kehilangan perubahan secara permanen.
Kesimpulan
Basis kode yang terpelihara dengan baik menunjukkan perhatian pada detail, efisiensi, dan kemampuan mengelola aset digital secara bertanggung jawab. Pemberi kerja mencari pengembang yang memahami praktik terbaik seperti menggunakan git clean -n sebelum menghapus file, berhati-hati terhadap file yang diabaikan dengan -x, dan memanfaatkan alternatif yang lebih aman seperti git stash.
Mengikuti kursus DataCamp bukan hanya cara yang bagus untuk belajar, tetapi juga sinyal bagi pemberi kerja bahwa Anda serius terhadap pengembangan perangkat lunak. Untuk itu, saya menyarankan mempelajari artikel blog Top 20 Git Interview Questions and Answers for All Levels dan mengikuti Git Fundamentals skill track baru kami untuk menjadi ahli dalam segala hal tentang Git.
Git Clean FAQs
Apa yang dilakukan git clean?
git clean menghapus file dan direktori tak terlacak dari direktori kerja Git Anda.
Apakah git clean menghapus file yang di-commit?
Tidak, git clean hanya menghapus file tak terlacak dan tidak memengaruhi file yang telah di-commit atau distage.
Bagaimana cara mempratinjau file sebelum menghapusnya?
Gunakan git clean -n untuk melakukan dry run dan melihat file mana yang akan dihapus.
Apa perbedaan antara git clean -f dan git clean -fd?
git clean -f menghapus file tak terlacak, sedangkan git clean -fd juga menghapus direktori tak terlacak.
Bagaimana perbedaan git clean dengan git reset?
git clean menghapus file tak terlacak, sedangkan git reset mengembalikan file terlacak ke keadaan sebelumnya.
Apakah ada cara untuk menghapus file secara selektif?
Ya, gunakan git clean -i untuk mode interaktif, yang memungkinkan Anda memilih file yang akan dihapus.

