Di root proyek saya, saya punya foo
folder. Di dalam foo
folder saya punya bar
folder. Saya ingin mengabaikan semua perubahan pada semua file di dalam bar
folder saya . Saya memiliki ini di gitignore
:
/foo/bar
Folder dicentang: ada dan ada file yang harus diabaikan. gitignore
adalah commit
ted. Namun, saya memiliki file tempat saya membuat moifikasi dan ada di dalam bar
folder saya . Saat saya mengetik
git status
di dalam saya, git bash
saya melihat file yang seharusnya diabaikan. Apa yang bisa menjadi alasan dan bagaimana saya bisa berhasil mengabaikan semua file di dalam folder bar saya?
Perhatikan, bahwa file-file sebelumnya diabaikan dengan baris yang sama, tetapi saya harus sementara menghapus baris itu ke commit
sesuatu di server. Setelah itu commit
, saya memasukkan kembali garis ke dalam gitignore
. Ini adalah saat yang lalu, tapi sekarang saya telah mengamati bahwa file akan di git status
. Saya berharap dapat memodifikasi file yang diabaikan tanpa mereka muncul di git status
.
git add -f ignored-file
akan menambahkan file bahkan jika Anda mengabaikannya.git status foo/bar/file-that-should-be-ignored
memberi?git log foo/bar/file-that-should-be-ignored
. Jika tidak boleh menjadi bagian dari repositori Anda harus menghapusnya dengangit rm --cached foo/bar/file-that-should-be-ignored
dan kemudian komit seperti yang disarankan oleh Reck di bawah ini (meskipun saya hanya akan melakukannya pada file, bukan seluruh folder). Ini akan (a) menghapus file dari Git, (b) menyimpan file dalam salinan lokal Anda, dan (c) menyebabkan file dihapus ketika orang lainfetch
ataupull
yang baru melakukan.Jawaban:
Saya menduga folder ini sudah diperiksa ke git sebelumnya?
Jalankan
git rm -r --cached <folder>
dan periksa lagi.sumber
git update-index --assume-unchanged <folder>
mungkin?Bagi saya, jawaban yang diterima adalah bagian dari solusi, bukan keseluruhan solusi. Mungkin, langkah-langkah lain yang akan saya posting sudah jelas, tetapi saya melewatkannya terlebih dahulu. Inilah langkah-langkah yang saya ambil untuk memastikan
.gitignore
file saya mengabaikan folder yang saya inginkan untuk diabaikan:git rm -r --cached .
(yang menghapus semuanya dari indeks git untuk menyegarkan repositori git Anda)git add .
(untuk menambahkan semuanya kembali ke repo)git commit -m ".gitignore Fixed"
Anda dapat menemukan tautan ke artikel dari mana saya menemukan solusinya di sini .
sumber
Saya mengalami masalah ini dan saya menyadari bahwa git sebenarnya mengabaikan file / folder dengan benar, tetapi editor kode saya (Visual Studio Code) hanya buggy dan tidak "memutihkan mereka" dengan benar di sidebar UI. Saya restart VSCode dan mereka diklik seperti yang diharapkan.
sumber
Sebagai tambahan untuk jawaban yang diterima
Ketika saya melakukan itu, terminal menunjukkan banyak
rm
file dalam direktori itu. Jadi untuk mencegah komit lain yang mungkin tidak perlu mempengaruhi remote, saya saya lakukan:Setelah itu, tidak ada yang dikatakan untuk dikomit dan ketika saya memodifikasi file di dalam
/foo/bar/
dan melakukangit status
saya masih mendapatkannothing to commit
.sumber