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

我的。gitignore看起来像:

/.idea/
.idea/workspace.xml

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

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

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

你知道我错过了什么吗?


当前回答

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

最后我解决了以下问题:

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

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

其他回答

我不得不:

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

命令

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

其他提交者应该运行

git pull

不太直观,但一旦我弄清楚就很容易修复:我将文件添加到.gitignore,然后在Commit选项卡的更改列表中恢复该文件。它不再出现了。

(我猜一旦IntelliJ自动将更改添加到git中,它将不再与.gitignore进行比较。一旦恢复,IntelliJ将在添加文件之前开始与.gitignore进行比较。)

如果你的git repo中有多个项目,.idea/workspace.xml将不匹配任何文件。

相反,你可以这样做:

$ git rm -f **/.idea/workspace.xml

让你的。gitignore看起来像这样:

# User-specific stuff:
**/.idea/workspace.xml
**/.idea/tasks.xml
**/.idea/dictionaries
**/.idea/vcs.xml
**/.idea/jsLibraryMappings.xml

# Sensitive or high-churn files:
**/.idea/dataSources.ids
**/.idea/dataSources.xml
**/.idea/dataSources.local.xml
**/.idea/sqlDataSources.xml
**/.idea/dynamic.xml
**/.idea/uiDesigner.xml

## File-based project format:
*.iws

# IntelliJ
/out/

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

最后我解决了以下问题:

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

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

我在基于IntelliJ的Android Studio中所做的是这样的。在提交对话框中,我恢复了对workspace.xml的更改,然后将其移动到未版本控制的文件。之后,我从提交对话框中删除了这个。现在它不会出现在更改列表中。注意,我的gitignore已经包含了.idea/workspace.xml