Git yerel önbelleğini temizle


92

İşlemek üzere olduğum bir Webstorm projem var, ancak Git Windows GUI'deki commit düğmesine basmadan önce, .ideaklasör içeriğimi teslim etmek istemediğimi hatırladım .

Bu yüzden .gitignores, belirli IDE'ler için otomatik olarak oluşturulan web sitesini kullandım ve dosyama ekledim .gitignore.

Tüm .ideaaçıkça göz ardı edilir dosyaları hala beni kaldırıp söz konusu dosyaları yeniden katma rağmen işlemeye görüntüleniyor.

Ayrıca gitignore dosyasını başka dosyalar olmadan gerçekleştirdim ve içeriğimi yeniden yapıştırdım, ancak yine de .idea dosyalarını görmezden gelmiyor.

Git'e önbelleğini yenilemesini veya temizlemesini nasıl söylerim?
Söz konusu dizine / cd yazmayı denedim ve yazarak

git clean -n

ancak hiçbir dosya görünmüyor.

Yanıtlar:


120

Açıkça göz ardı edilen tüm .idea dosyaları işleme için hala gösteriliyor

onları hazırlık alanından çıkarmalısın

git rm --cached .idea

şimdi bu değişiklikleri yapmak zorundasınız ve bu noktadan itibaren göz ardı edilecekler.
Git değişiklikleri izlemeye başladığında, .gitignoredaha sonra dosyaya eklenmiş olsalar bile onları izlemeyi "durdurmaz" .

Sen gerekir açıkça bunları kaldırmak ve daha sonra tamamen onları görmezden amacıyla elle kaldırılmasını taahhüt.


görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


3
Yine de görmezden gelmeye çalıştığım dosyaları asla fatal: pathspec '.idea' did not match any files
işlemem

Git status yazdığınızda onları görüyor musunuz? Dosyaları otomatik olarak eklemek için onay kutusunu işaretlediyseniz WebStorm bunları sizin için eklemiş olabilir
CodeWizard

2
Hiçbir fikrim yok ama ölümcül bir hata döndürmesine rağmen bana verdiğin komut işe yaradı gibi görünüyor .... Dosyalar artık işleme alınacak şekilde görünmüyor.
jozenbasin

-ryinelemeli kaldırma için eklemeyi düşünebilirsiniz
Vishrant

79

Git'inizin berbat olduğunu düşündüğünüzde, her şeyi güncel yapmak için bu komutu kullanabilirsiniz.

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

Ayrıca son kaydetmeyi geri almak için şunu kullanın:

git reset HEAD^ --hard

6
Değişiklikleri uzaktan kumandaya göndermek istemiyorsanız git push'u kullanmayın. Ancak, bunu yaptıysanız, android stüdyosunun altındaki sürüm kontrol sekmesine gidin, önceki işleme sağ tıklayın ve "Mevcut şubeyi buraya sıfırla" yı seçin
Swapnil

sıfırlama kısmı en iyi ihtimalle kafa karıştırıcıydı. ama 'git itme' yaptım ve iyiydi.
Seun S. Lawal

6

git üzerinde herhangi bir değişiklik yaparsanız, git önbelleğinizi de temizlemeniz gerekir

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

belirli bir klasörü veya dosyayı kaldırmak istiyorsanız

git rm  --cached filepath/foldername

3
git rm --cached *.FileExtension

Bu, bu uzantıdaki tüm dosyaları yok saymalıdır


3

git-ignore dosyasındaki bu değişiklikten sonra bu komutu çalıştırın, Bu komut dosyaları veya değişiklikleri değil tüm dosya önbelleğini kaldırır

git rm -r --cached.

bu komutun yürütülmesinden sonra dosyaları işle

önbellekten tek bir dosyayı veya klasörü kaldırmak için bu komutu kullanın

git rm - önbelleğe alınmış dosya yolu / klasör adı


2

Önbelleğe alınmış .idea / dizini kaldırmak için. Örneğingit rm -r --cached .idea

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.