1. Abaikan nilai lokal, pertahankan contoh
Letakkan aturan berikut di .gitignore akar. Aturan mencakup .env dan berkas akar berawalan .env., lalu menyertakan kembali .env.example. service.env dan berkas di subdirektori tidak tercakup.
Periksa .env.example sebelum commit: nama contoh tidak menjamin nilainya aman dipublikasikan. Gunakan nilai pengganti dan dokumentasikan variabel yang diperlukan.
/.env
/.env.*
!/.env.example 2. Verifikasi ketiga kasus
Dengan .env, .env.local, dan .env.example yang tidak terlacak, periksa aturan yang cocok:
git check-ignore -v -- .env .env.local .env.example!/.env.example berarti contoh disertakan kembali. Status harus menampilkan contoh tanpa dua berkas nilai lokal. Induk yang dikecualikan atau aturan berikutnya masih dapat mengubah hasil.
git status --short --untracked-files=all -- .env .env.local .env.example Mengapa ! gagal mempertahankan berkas dalam direktori yang diabaikan?
3. Tangani nilai yang sudah dilacak
Periksa apakah Git sudah melacak salah satu berkas nilai lokal:
git ls-files -- .env .env.localJika muncul jalur, ikuti artikel berkas terlacak dan koordinasikan perubahan. .gitignore tidak menghapus commit lama. Jika kredensial terekspos, cabut atau ganti terlebih dahulu dan ikuti panduan GitHub; menghapus berkas saat ini tidak menghapus riwayat.
Untuk perilaku yang tepat dan rincian lebih lanjut, lihat referensi resmi: Dokumentasi Git · Tanya jawab Git · Panduan GitHub untuk data sensitif yang terekspos