Git中無法忽略.idea等文件的問題解決
問題描述
明明在.gitignore中加入./idea文件夾,但是./idea文件夾下面的一些文件竟然還能被Commit:
每次提交的時候很不方便,並且對於一個有強迫症的程序員來說,這簡直太難受了。
問題原因
遠程分支上存在這個文件導致即使本地將其添加到ignore中,這個文件還是不會被忽略。
解決辦法
刪除遠程的,保留本地的。
進入到想要刪除的文件夾的上一級 並打開Git Bash,鍵入:
git rm --cached file_path
git commit -m 'delete some remote files'
git push
當目標是文件夾時,git rm命令加上-r參數,這與Linux命令幾近一樣。
此時結果:
清清爽爽!
解釋 git rm
git rm 不加--cached的時候:
git rm file_path
表示既刪除了本地的文件,又刪除了遠程的文件。
而加了 --cached 表示:只刪除暫存區和遠程分支上的文件,但本地的保留,此時ignore生效,這些本地文件就會git忽略了。
Tips
這會將遠程倉庫中的文件也刪除掉,但.idea這些文件肯定不會影響項目的發布啥的,所以,盡管刪吧。
<轉自:> https://zhuanlan.zhihu.com/p/352364554
加:
多人開發時,會出現明明在gitignore中忽略了.idea文件夾,但是提交時仍舊會出現.idea內文件變動的情況
原因
.idea已經被git跟蹤,之后再加入.gitignore后是沒有作用的
解決辦法
清除.idea的git緩存
git rm -r --cached .idea
.gitignore中添加.idea
