Hapus cache lokal git

92

Saya memiliki proyek Webstorm yang akan saya lakukan, tetapi sebelum menekan tombol komit di GUI Git Windows, saya ingat bahwa saya tidak ingin memasukkan .ideakonten folder saya .

Jadi saya menggunakan situs web yang secara otomatis menghasilkan .gitignoresIDE tertentu dan menambahkannya ke .gitignorefile saya .

Semua .ideafile yang secara eksplisit diabaikan masih muncul untuk melakukan, meskipun saya menghapus dan menambahkan kembali file yang dipermasalahkan.

Saya juga melakukan file gitignore tanpa file lain, dan menempel ulang konten saya, tetapi file .idea tetap tidak diabaikan.

Bagaimana cara memberi tahu Git untuk menyegarkan atau menghapus temboloknya?
Saya mencoba / cd ke direktori yang dimaksud, dan mengetik

git clean -n

tapi tidak ada file yang muncul.

jozenbasin
sumber

Jawaban:

120

Semua file .idea yang secara eksplisit diabaikan masih muncul untuk melakukan

Anda harus menghapusnya dari area pementasan

git rm --cached .idea

sekarang Anda harus melakukan perubahan itu dan mereka akan diabaikan mulai saat ini.
Setelah git mulai melacak perubahan, git tidak akan "berhenti" melacaknya meskipun perubahan itu ditambahkan ke .gitignorefile nanti.

Anda harus secara eksplisit menghapusnya dan kemudian melakukan penghapusan Anda secara manual untuk mengabaikannya sepenuhnya.


masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

CodeWizard
sumber
3
Saya tidak pernah memasukkan file yang ingin saya abaikan .. Ini memberitahu sayafatal: pathspec '.idea' did not match any files
jozenbasin
Saat Anda mengetik status git, apakah Anda melihatnya? WebStorm mungkin telah menambahkannya untuk Anda jika Anda menandai kotak centang untuk menambahkan file secara otomatis
CodeWizard
2
Saya tidak tahu tetapi tampaknya perintah yang Anda berikan kepada saya berfungsi, meskipun menghasilkan kesalahan fatal .... File tidak lagi muncul untuk melakukan.
jozenbasin
Anda dapat mempertimbangkan -runtuk menambahkan untuk penghapusan rekursif
Vishrant
79

Saat Anda merasa git Anda kacau, Anda dapat menggunakan perintah ini untuk melakukan segala sesuatu yang up-to-date.

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

Juga untuk mengembalikan kembali komit terakhir, gunakan ini:

git reset HEAD^ --hard
Kamal Kumar
sumber
6
Jangan gunakan git push jika Anda tidak ingin melakukan perubahan ke remote. Namun jika Anda melakukannya, buka tab kontrol versi di bagian bawah studio android, klik kanan komit sebelumnya dan pilih "Setel ulang cabang saat ini ke sini"
Swapnil
bagian reset paling membingungkan. tapi saya melakukannya hingga 'git push', dan baik-baik saja.
Seun S.Lawal
6

jika Anda melakukan perubahan apa pun pada git ignore maka Anda juga harus membersihkan git cache

> git rm -r --cached . 
> git add . 
> git commit -m 'git cache cleared'
> git push

jika ingin menghapus folder atau file tertentu maka

git rm  --cached filepath/foldername
Akshay Kumar
sumber
3
git rm --cached *.FileExtension

Ini harus mengabaikan semua file dari ekstensi ini

Allan Ferraz
sumber
3

setelah itu ubah git-ignore file jalankan perintah ini, Perintah ini akan menghapus semua cache file bukan file atau perubahan

git rm -r --cached.

setelah eksekusi perintah ini lakukan file

untuk menghapus satu file atau folder dari cache gunakan perintah ini

git rm - jalur file cache / nama folder

Akshay
sumber
2

Untuk menghapus direktori .idea / cache. misalnyagit rm -r --cached .idea

Max Droid
sumber