
Ramai orang menambah .env ke .gitignore selepas sedar fail itu muncul di GitHub. Kemudian mereka lega kerana git status tidak lagi menunjukkan perubahan. Malangnya, jika fail itu pernah dikomit, baris dalam .gitignore tidak menghapuskan salinan yang sudah ada dalam sejarah.
.gitignore memberitahu Git supaya mengabaikan fail yang belum dijejak. Fail yang sudah dijejak memerlukan tindakan berasingan untuk dikeluarkan daripada indeks, contohnya git rm --cached nama-fail, diikuti commit. Fail lokal boleh kekal, tetapi versi lama masih boleh wujud dalam commit terdahulu. Semak dengan git ls-files jika tidak pasti sama ada sesuatu fail dijejak.
Jika fail mengandungi secret
Anggap kunci API atau kata laluan itu telah terdedah. Putar secret di penyedia asal dan ganti nilainya pada aplikasi. Membersihkan sejarah mungkin diperlukan, tetapi ia proses yang perlu diselaraskan dengan rakan yang sudah clone repo. Memadam fail pada commit baharu sahaja tidak membatalkan akses sesiapa yang sudah melihat nilai lama.
Sebelum commit pertama pada projek baharu, cipta fail contoh seperti .env.example yang mengandungi nama pemboleh ubah tanpa nilai rahsia. Rakan boleh tahu apa yang diperlukan untuk menjalankan projek, sementara nilai sebenar kekal di luar Git. Ini mengurangkan godaan menghantar fail .env melalui chat ketika onboarding.
Pencegahan paling mudah ialah menyediakan .gitignore sebelum commit pertama dan menyemak git status serta git diff --cached sebelum push. Jangan gunakan .gitignore sebagai tong sampah kecemasan; ia pagar awal untuk fail yang tidak patut masuk Git.