我在Rails项目中使用Rubymine。通常情况下,Rubymine在.idea/*文件中做了一些我并不关心的更改。但它一直阻止我查看新的分支,并使我的.idea版本与我的同事不同。

我们已经向.gitignore添加了.idea/,但它会跟踪.idea中的变化。我该怎么做才对呢?

下面是我得到的一个典型的错误消息:

error: Your local changes to the following files would be overwritten by checkout:
    .idea/workspace.xml

当前回答

如果您已经进行了初始提交,并且您的.idea文件在git中显示为新文件,那么您需要先删除这些文件,然后再提交它们。以下步骤将达到目的

 1. git rm --cached -r .idea/
 2. Add .idea/ to **.git/info/exclude** or **.gitignore**
 3. git commit -m 'ignore .idea/ files'

在这个链接中有详细的解释: https://devconnected.com/how-to-clear-git-cache/

其他回答

使用.ignore plugin: https://plugins.jetbrains.com/plugin/7495--ignore

它为你自动管理许多路径/模式,也有许多有用的额外功能。它兼容:

IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine 本地 CLion GoLand DataGrip 骑手 国会议员 Android工作室

将.idea添加到~/。Gitignore_global并按照这里的说明让.gitignore_global工作:

Git全局忽略不工作

这样你就不必把它添加到一个单独的.gitignore文件中。

.gitignore,该文件用于显式指定Git应该忽略哪些文件或文件夹

在$HOME/中指定的忽略规则。gitignore_global、$ HOME /。config/git/ignore, $GIT_DIR/info/exclude, .gitignore在git存储库中都有效

.gitignore文件显式指定了哪些文件不应该被Git跟踪,即被Git忽略。在gitignore之前已经被Git跟踪的文件不受gitignore规则的影响。要停止跟踪Git已经跟踪的文件,请使用Git rm——cached .idea/命令

在rubymine gui中,有一个忽略列表(设置/版本控制)。也许可以试着在那里禁用它。我从他们的后勤人员那里得到了暗示。

如果您已经进行了初始提交,并且您的.idea文件在git中显示为新文件,那么您需要先删除这些文件,然后再提交它们。以下步骤将达到目的

 1. git rm --cached -r .idea/
 2. Add .idea/ to **.git/info/exclude** or **.gitignore**
 3. git commit -m 'ignore .idea/ files'

在这个链接中有详细的解释: https://devconnected.com/how-to-clear-git-cache/