Cara Menghapus Semua Perubahan yang Belum Di-commit di Git

Jika kamu ingin mereset semua perubahan yang belum di-commit di Git, berikut adalah langkah-langkah yang bisa kamu ikuti:

1. Melihat Status Repositori

Sebelum melakukan reset, penting untuk melihat status repositori untuk mengetahui perubahan yang ada.

git status

2. Menghapus Perubahan pada File yang Belum di Stage

Jika kamu ingin menghapus perubahan pada file yang belum di-stage (belum ditambahkan ke staging area), gunakan perintah berikut:

git checkout -- .

3. Menghapus Perubahan pada File yang Sudah di Stage

Jika kamu ingin menghapus perubahan pada file yang sudah di-stage (telah ditambahkan ke staging area), gunakan perintah berikut:

git reset HEAD .

4. Menghapus Semua Perubahan Termasuk File Baru

Jika kamu ingin menghapus semua perubahan termasuk file baru yang belum di-commit, gunakan perintah berikut:

git reset --hard HEAD

Catatan: Perintah git reset --hard HEAD akan menghapus semua perubahan lokal yang belum di-commit dan tidak dapat dikembalikan.

5. Menghapus File dan Folder yang Tidak Terlacak

Untuk menghapus file dan folder yang tidak terlacak (untracked files), gunakan perintah berikut:

git clean -fd
  • Opsi -f (force) digunakan untuk mengkonfirmasi bahwa kamu benar-benar ingin menghapus file-file ini.
  • Opsi -d digunakan untuk menghapus direktori yang tidak terlacak juga.

Contoh Penggunaan

  • Melihat Status Repositori:
git status
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#        app/src/main/res/color/
#        app/src/main/res/menu/
#
# nothing added to commit but untracked files present (use "git add" to track)
  • Menghapus File dan Folder yang Tidak Terlacak: git clean -fd
git clean -fd
  1. Memverifikasi Penghapusan:
git status
# On branch main
# Your branch is up to date with 'origin/main'.
#
# nothing to commit, working tree clean

Dengan menggunakan perintah-perintah di atas, kamu bisa menghapus semua perubahan yang belum di-commit dan mengembalikan repositori Git ke keadaan yang bersih sesuai dengan commit terakhir.