Saya menambahkan ini ke file .gitignore
.idea/*
tapi bagaimanapun statusnya adalah:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
apa yang saya lakukan salah? saya bahkan menambahkan .idea / * ke global ~ / .gitignore_global tetapi status git, tetap menunjukkan kepada saya:
# modified: .gitignore
# modified: .idea/.generators
# modified: .idea/dovezu.iml
# modified: .idea/misc.xml
# modified: .idea/workspace.xml
Jawaban:
Anda
.gitignore
berfungsi, tetapi masih melacak file karena sudah ada dalam indeks.Untuk menghentikan ini, Anda harus melakukan:
git rm -r --cached .idea/
Ketika Anda komit
.idea/
direktori akan dihapus dari repositori git Anda dan komit berikut akan mengabaikan.idea/
direktori.PS: Anda bisa menggunakan
.idea/
alih-alih.idea/*
mengabaikan direktori. Anda dapat menemukan info lebih lanjut tentang pola pada para Gitignore halaman manual .Kutipan bermanfaat dari
git-rm
halaman manualsumber
.gitignore
dan kemudian melakukangit rm -cached
?commit
setelah menghapus file yang di-cache? Itu benar-benar tampak kontra-intuitif; ini adalah file yang saya TIDAK ingin komit. Dan saya tidak ingin mereka dihapus dari repositori (saya hanya ingin mereka tidak lagi berkeliaran berantakan sayagit status
). Atau apakah saya benar-benar bingung?Bagi orang-orang yang mungkin masih mencari masalah ini, cari di halaman ini saja.
Ini akan membantu Anda menghapus file indeks yang di-cache, dan kemudian hanya menambahkan yang Anda butuhkan, termasuk perubahan ke
.gitignore
file Anda .Ini sedikit info lebih lanjut.
sumber
Solusi yang ditawarkan di sini dan di tempat lain tidak berhasil untuk saya, jadi saya akan menambah diskusi untuk pembaca masa depan. Saya memang belum sepenuhnya memahami prosedurnya, tetapi akhirnya menyelesaikan masalah saya (yang mirip) dan ingin berbagi.
Saya tidak sengaja telah men-cache beberapa direktori-dokumen dengan beberapa ratus file ketika bekerja dengan git di IntelliJ IDEA pada Windows 10, dan setelah menambahkannya ke
.gitignore
(dan MUNGKIN memindahkannya sedikit), saya tidak bisa menghapusnya dari Default Changelist.Saya pertama kali melakukan perubahan aktual yang saya buat, kemudian menyelesaikannya - butuh waktu terlalu lama. Saya mencoba
git rm -r --cached .
tetapi akan selalu mendapatkanpath-spec
KESALAHAN, dengan variasi yang berbedapath-spec
serta dengan-f
dan-r
bendera.git status
masih akan menunjukkan nama file, jadi saya mencoba menggunakan beberapa kata demi katagit rm -cached
, tetapi tidak berhasil. Menyembunyikan dan menghapus perubahan tampaknya berhasil, tetapi mereka harus antri lagi setelah beberapa waktu (saya agak kabur tentang kerangka waktu yang tepat). Saya akhirnya menghapus entri ini untuk penggunaan yang baikSaya menganggap ini hanya BAIK IDEA ketika Anda tidak memiliki perubahan bertahap / cache bahwa Anda benar-benar ingin melakukan.
sumber
Cukup tambahkan
git rm -r --cached <folder_name/file_name>
Terkadang, Anda memperbarui file .gitignore setelah perintah komit file. Jadi, file-file itu di-cache dalam memori. Untuk menghapus file yang di-cache, gunakan perintah di atas.
sumber
Git tambahkan.
Status git // Periksa file yang sedang dimodifikasi
// git atur ulang KEPALA --- ganti file mana yang ingin Anda abaikan
git reset HEAD .idea / <- Mereka yang ingin mengecualikan .idea dari sebelum melakukan // git memeriksa status dan file ide akan hilang, dan Anda siap untuk pergi!
git commit -m ''
git push
sumber