git restore clean | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: git restore clean

Tuesday, November 4, 2025

git restore clean

Panduan Troubleshooting Git: Memahami Perbedaan git restore . dan git clean -fd

Git adalah alat yang luar biasa untuk mengatur versi kode, tapi juga sering bikin bingung, terutama saat muncul pesan seperti Untracked files” atau “Changes not staged for commit”.
Yuk, kita bahas dengan santai tapi tetap rapi biar kamu ngerti alur logikanya dari dalam Git.

1. Konsep Dasar: Siklus Hidup File di Git

Setiap file dalam repository Git bisa berada di salah satu dari empat status utama:

Status File Arti Ciri di git status Keterangan
Untracked File baru yang belum dikenali Git Untracked files: Belum pernah di-add, belum tercatat dalam riwayat Git
Tracked (Unmodified) File sudah pernah di-add dan belum diubah Tidak muncul di git status Sudah tersimpan di riwayat commit
Modified File diubah setelah commit terakhir Changes not staged for commit: Belum di-add, tapi sudah dikenal Git
Staged File siap di-commit Changes to be committed: Sudah di-add, belum di-commit

Jadi, tiap kali kamu ubah file, Git akan mendeteksi statusnya berubah dari Tracked → Modified → Staged → Committed.

2. Apa Itu Untracked Files?

Untracked files adalah file yang:

  • Belum pernah di-add dengan git add,

  • Tidak termasuk di commit mana pun sebelumnya,

  • Tidak sedang di-ignore (kalau belum ditulis di .gitignore).

Git akan menampilkan peringatan seperti ini:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        resources/views/feeder/kelas_kuliah.blade.php

Artinya: Git tahu file itu ada, tapi belum kamu suruh untuk disimpan dalam riwayat versi.

3. git restore . — Mengembalikan File yang Sudah Dikenal Git

Perintah ini digunakan untuk membatalkan perubahan pada file yang sudah di-track (pernah di-commit sebelumnya).
Git akan mengembalikan file ke versi terakhir dari commit yang aktif (biasanya HEAD).

git restore .

➡️ Efeknya:

  • Semua perubahan di file yang sudah di-track akan hilang.

  • Tapi tidak berpengaruh ke untracked files (file baru tetap ada).

📘 Contoh:

modified:   app/Http/Controllers/FeederController.php
modified:   routes/web.php

Setelah git restore ., kedua file itu akan kembali seperti commit terakhir.

4. git clean -n dan git clean -fd — Menghapus File yang Belum Dikenal Git

git clean digunakan untuk membersihkan file atau folder yang belum pernah di-track (belum di-add).

🔍 Cek dulu (tanpa hapus):

git clean -n

Git hanya menampilkan file/folder apa saja yang akan dihapus.
Ini aman — semacam “preview” sebelum kamu benar-benar bersih-bersih.

🚮 Hapus untracked files:

git clean -f

🚮 Hapus untracked files dan folder:

git clean -fd

⚠️ Catatan:
Perintah ini menghapus permanen file yang belum di-add, jadi pastikan kamu tidak sedang menyimpan kerjaan penting di situ.

5. Kapan Gunakan yang Mana?

Kebutuhan Gunakan Penjelasan
Kamu ingin membatalkan perubahan di file lama (sudah di-commit) git restore . Mengembalikan file ke versi commit terakhir
Kamu ingin menghapus file/folder baru yang belum pernah di-track git clean -fd Menghapus file yang belum di-add
Kamu ingin memastikan dulu apa yang akan dihapus git clean -n Mode “lihat dulu” sebelum menghapus

6. Tanda-tanda File Belum Di-Add, Di-Commit, atau Di-Push

Tanda di git status Arti Solusi
Untracked files: File belum di-add git add <file>
Changes not staged for commit: File diubah tapi belum di-add git add <file>
Changes to be committed: Sudah di-add tapi belum di-commit git commit -m "pesan"
Branch lokal ahead of origin Sudah di-commit tapi belum di-push git push origin master

7. Rangkuman Singkat (Versi Cepat)

Tujuan Perintah
Batalkan semua perubahan tracked git restore .
Lihat file untracked yang akan dihapus git clean -n
Hapus file untracked git clean -f
Hapus file & folder untracked git clean -fd
Cek status semua perubahan git status

8. Kesimpulan

  • git restore . itu seperti tombol Undo untuk file lama yang sudah pernah di-commit.

  • git clean -fd itu seperti membersihkan sampah proyek: file baru yang belum pernah masuk Git.

  • Gunakan git clean -n dulu untuk mengecek, supaya tidak salah hapus.

  • Kombinasi git restore . && git clean -fd berguna saat kamu ingin mengembalikan repo ke kondisi bersih sama persis dengan versi di GitHub.

Kalimat penutup biar nyantol:

“Kalau git restore itu seperti ‘balikin yang sudah kenal’,
maka git clean itu seperti ‘hapus yang belum dikenal’.” 😄

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux