使用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。
但是当我在项目中进行更改时,该文件一直弹出。
你知道我错过了什么吗?
当前回答
我不得不:
从git中删除该文件 将提交推到所有远程 确保从远程更新所有其他提交者
命令
git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all
其他提交者应该运行
git pull
其他回答
我不得不:
从git中删除该文件 将提交推到所有远程 确保从远程更新所有其他提交者
命令
git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all
其他提交者应该运行
git pull
不太直观,但一旦我弄清楚就很容易修复:我将文件添加到.gitignore,然后在Commit选项卡的更改列表中恢复该文件。它不再出现了。
(我猜一旦IntelliJ自动将更改添加到git中,它将不再与.gitignore进行比较。一旦恢复,IntelliJ将在添加文件之前开始与.gitignore进行比较。)
只要告诉git不要假设它被改变了,不管发生什么:
git update-index --assume-unchanged src/file/to/ignore
是的,您可以从git存储库中删除这些文件。但是如果你的团队都使用相同的IDE,或者你是一个人,你可能不想这样做。对你自己来说,你希望有一个好的起点来重新开始工作,对你的队友来说也是如此。
忽略以.iws结尾的文件,以及.gitignore中的workspace.xml和tasks.xml文件 参考
只是想分享一下我的经验。
无论我尝试什么,我都有同样的问题,但我正在进行的回收如你所期望的那样在顶层生成了一个.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