Cara Menghapus File .env dari Git Tanpa Menghapus File Lokal

Perintah git rm --cached .env digunakan untuk menghapus file konfigurasi sensitif seperti .env dari sistem pelacakan Git (staging area dan repository), tanpa menghapus file tersebut dari direktori kerja lokal Anda. Perintah ini menjadi solusi utama ketika Anda tidak sengaja melacak (track) file rahasia yang seharusnya diabaikan oleh Git, sebelum atau sesudah memasukkannya ke dalam daftar .gitignore.

Kesalahan umum pengembang adalah langsung menambahkan file berisi kredensial database atau API key ke dalam commit pertama. Jika file .env sudah telanjur masuk ke riwayat commit Git, sekadar menghapusnya dari pelacakan saja belum cukup untuk membersihkan jejak keamanan di repository jarak jauh (remote repository seperti GitHub atau GitLab).

Langkah-Langkah Teknis Menggunakan Git Rm Cached

Ikuti prosedur teknis di bawah ini secara berurutan untuk mencabut pelacakan file .env dengan aman:

  1. Pastikan file .gitignore sudah dikonfigurasi
    Buka atau buat file .gitignore di root direktori proyek Anda, lalu tambahkan baris .env di dalamnya agar Git mengabaikan file tersebut di masa mendatang.
  2. Jalankan perintah git rm --cached
    Ketik perintah berikut di terminal atau command line Anda:
git rm --cached .env
  1. Komit perubahan ke repository lokal
    Simpan status penghapusan ini ke dalam riwayat commit Git lokal Anda:
git commit -m "chore: hapus file .env dari pelacakan git"
  1. Dorong perubahan ke remote repository
    Perbarui server jarak jauh Anda dengan perintah push:
git push origin [nama-branch]

Tabel Matriks Perintah Penghapusan File di Git

Perintah Git Status File di Git (Tracking) Status File di Direktori Lokal
git rm .env Dihapus dari pelacakan Dihapus dari komputer lokal
git rm --cached .env Dihapus dari pelacakan Tetap aman di komputer lokal
rm .env (manual) Tetap terlacak (Modified) Dihapus dari komputer lokal

Troubleshooting & Penanganan Keamanan Tingkat Lanjut

Jika file .env Anda sebelumnya sudah pernah terdorong (pushed) ke repository publik atau privat, menghapusnya dengan git rm --cached tidak serta-merta menghapus riwayat (commit history) tempat file tersebut pernah tersimpan. Siapa pun masih bisa melihat isi file .env lama melalui log commit.

Untuk membersihkan riwayat Git secara total dari file sensitif yang terlanjur terekspos, Anda memerlukan tindakan lanjutan menggunakan utilitas git filter-branch atau alat pihak ketiga yang lebih modern seperti BFG Repo-Cleaner. Namun, langkah paling esensial dan darurat yang wajib dilakukan segera setelah file .env terekspos adalah melakukan rotasi (mengganti semua kredensial, password, dan secret key) pada layanan pihak ketiga yang bersangkutan (misalnya AWS, database cloud, atau payment gateway).