Jawaban:
.gitignore
hanya mengabaikan file yang belum menjadi bagian dari repositori. Jika Anda sudah git add
mengedit beberapa file, perubahannya akan tetap terlacak. Untuk menghapus file-file itu dari repositori Anda (tetapi tidak dari sistem file Anda) gunakanlah git rm --cached
.
File .gitignore memastikan bahwa file yang tidak dilacak oleh Git tetap tidak terlacak.
Hanya menambahkan folder / file ke file .gitignore tidak akan menghapusnya - mereka akan tetap dilacak oleh Git.
Untuk membuka file yang terlacak, Anda perlu menghapus file terlacak yang terdaftar dalam file .gitignore dari repositori. Kemudian tambahkan kembali dan lakukan perubahan Anda.
Cara termudah dan paling menyeluruh untuk melakukannya adalah dengan menghapus dan menyimpan semua file di repositori, lalu menambahkan semuanya kembali. Semua folder / file yang terdaftar dalam file .gitignore tidak akan terlacak. Dari folder teratas di repositori, jalankan perintah berikut:
git rm -r --cached .
git add .
Kemudian lakukan perubahan Anda:
git commit -m "Untrack files in .gitignore"
Harap dicatat bahwa komit sebelumnya dengan file yang tidak diinginkan akan tetap ada dalam riwayat komit. Saat mendorong ke GitHub berhati-hatilah dengan riwayat komit yang mungkin berisi .env
atau client_secret.json
file.
Praktik terbaiknya adalah membuat file .gitignore dan mengisinya dengan folder / file yang tidak ingin Anda lacak saat memulai proyek. Namun, sering kali perlu menambahkan file .gitignore setelah menyadari bahwa file yang tidak diinginkan sedang dilacak dan disimpan.
git rm -r --cached .
mengembalikan semua perubahan juga berfungsi untuk menambahkan kembali semua file yang tidak boleh dikecualikan dengan .gitignore .
Lihat ini: .gitignore tidak berfungsi Dan terutama komentar dari ADTC:
Pastikan file .gitignore Anda menggunakan encoding ANSI atau UTF-8. Jika ia menggunakan sesuatu yang lain seperti Unicode BOM, mungkin Git tidak dapat membaca file tersebut. - ADTC 14 Desember '17 pukul 12:39