Bagaimana mengabaikan .env tetapi mempertahankan .env.example?

Jangan masukkan nilai nyata ke kontrol versi. Bagikan .env.example yang telah diperiksa dan berisi nilai pengganti. Periksa konvensi framework sebelum memakai aturan luas.

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.local

Jika 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.

Bagaimana mengabaikan berkas yang sudah dilacak Git?

Untuk perilaku yang tepat dan rincian lebih lanjut, lihat referensi resmi: Dokumentasi Git · Tanya jawab Git · Panduan GitHub untuk data sensitif yang terekspos