使用PHPStorm,我试图忽略workspace.xml,每次我尝试进行git提交时,它都会弹出。

我的。gitignore看起来像:

/.idea/
.idea/workspace.xml

因为在提交文件时,我还执行了:

Git rm——缓存。idea/workspace.xml,然后提交删除,推到一个裸repo。

但是当我在项目中进行更改时,该文件一直弹出。

你知道我错过了什么吗?


当前回答

要在不影响IDE配置的情况下从git中完全删除.idea/,你可以这样做:

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"

其他回答

因为在我的情况下,我执行一个项目的第一次提交,简单地删除。git和。idea文件夹,然后使用git init重新初始化git有助于解决问题。现在我完全不知道了。

只是想分享一下我的经验。

无论我尝试什么,我都有同样的问题,但我正在进行的回收如你所期望的那样在顶层生成了一个.idea,但.gitignore被放置在目录树下的一个文件夹中。

So:

.idea // On the level above the .gitignore file
application/
- .gitignore // too low to include .idea
- otherfile.js

所以我的解决方案是,我需要在repo的顶层创建一个.gitignore文件,然后我可以像预期的那样删除/ .idea文件夹,就像这样:

.gitignore // Now this can successfully target .idea below
.idea
application/
- .gitignore
- otherfile.js

我刚才遇到了这个问题,我必须做git rm -f .idea/workspace.xml 现在它似乎不见了(我也不得不把它放进。gitignore)

我不得不:

从git中删除该文件 将提交推到所有远程 确保从远程更新所有其他提交者

命令

git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all

其他提交者应该运行

git pull

我用PHPStorm也遇到了同样的问题

最后我解决了以下问题:

删除.idea/ directory 移动.gitignore到同一层将是新生成的.idea/ 写你需要被忽略的文件,和。idea/ too。为了确保它会被忽略,我写了以下内容: .idea / .idea .idea / *

我不知道为什么这样工作,也许.gitignore需要在同一级别的。idea可以忽略这个目录。