使用PHPStorm,我试图忽略workspace.xml,每次我尝试进行git提交时,它都会弹出。
我的。gitignore看起来像:
/.idea/
.idea/workspace.xml
因为在提交文件时,我还执行了:
Git rm——缓存。idea/workspace.xml,然后提交删除,推到一个裸repo。
但是当我在项目中进行更改时,该文件一直弹出。
你知道我错过了什么吗?
使用PHPStorm,我试图忽略workspace.xml,每次我尝试进行git提交时,它都会弹出。
我的。gitignore看起来像:
/.idea/
.idea/workspace.xml
因为在提交文件时,我还执行了:
Git rm——缓存。idea/workspace.xml,然后提交删除,推到一个裸repo。
但是当我在项目中进行更改时,该文件一直弹出。
你知道我错过了什么吗?
当前回答
不太直观,但一旦我弄清楚就很容易修复:我将文件添加到.gitignore,然后在Commit选项卡的更改列表中恢复该文件。它不再出现了。
(我猜一旦IntelliJ自动将更改添加到git中,它将不再与.gitignore进行比较。一旦恢复,IntelliJ将在添加文件之前开始与.gitignore进行比较。)
其他回答
我刚才遇到了这个问题,我必须做git rm -f .idea/workspace.xml 现在它似乎不见了(我也不得不把它放进。gitignore)
要在不影响IDE配置的情况下从git中完全删除.idea/,你可以这样做:
git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"
我不得不:
从git中删除该文件 将提交推到所有远程 确保从远程更新所有其他提交者
命令
git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all
其他提交者应该运行
git pull
在你看到文件出现的同一个目录下:
rm .idea / workspace.xml Git rm -f .idea/workspace.xml(由Chris vdp建议) vi .gitignore i(要编辑),在其中一行中添加.idea/workspace.xml, Esc,:wq
你现在应该没事了
我也面临着同样的问题,它把我逼疯了。问题最终是.idea文件夹之前已经提交到repo中,所以不管你是否忽略它们,git都会跟踪它们。在关闭RubyMine/IntelliJ或任何你正在使用的IDE后,我推荐以下:
mv .idea ../.idea_backup
rm .idea # in case you forgot to close your IDE
git rm -r .idea
git commit -m "Remove .idea from repo"
mv ../.idea_backup .idea
之后一定要忽略你的。gitignore中的。idea
尽管在存储库的.gitignore中忽略它就足够了,但我建议您全局地忽略IDE的dotfiles。
否则,您必须将它添加到您所从事的每个项目的每个.gitgnore中。此外,如果您与其他人合作,那么最好的做法是不要使用不特定于项目源代码的私有配置来污染项目的.gitignore。