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

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

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

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

当前回答

JetBrains在GitHub上有一个.gitignore_global。

其他回答

将.idea/*添加到排除列表中,以防止跟踪所有.idea文件、目录和子资源。

如果Git已经在跟踪某个文件,那么将该文件添加到.gitignore不会阻止Git跟踪它。你需要先对有问题的文件进行git管理,然后添加到你的.gitignore中。

加上。idea/应该有用

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

注意,JetBrains建议“如果你决定与其他开发人员共享IDE项目文件……”,跟踪所有的。idea/*文件,除了以下文件:

workspace.xml usage.statistics.xml tasks.xml 货架/目录

因此,为了遵循他们的建议,你可以将这些添加到你的。gitignore中。


来源:

如果您决定与其他开发人员共享IDE项目文件,请遵循以下原则: … 以下是你需要分享的内容: 除了workspace.xml、usage.statistics.xml和tasks.xml文件以及存储用户特定设置的shelf目录外,项目根目录。idea目录下的所有文件 …

如何管理版本控制系统下的项目(存档)

那一页上有一些额外的注释和讨论,如果你考虑继续做这个,你应该读一下, 包括你可能想要gitignore的额外文件,即使你决定要共享IDE文件(例如。iml文件,.idea/modules.xml, gradle.xml,用户字典文件夹,从gradle或maven生成的额外文件)。

我试着把这些文件添加到我的。gitignore,它是无用的…

然而,正如Petr Syrov所说,你可以使用git rm -r——cached .idea到你的终端,这些文件将不再是一个问题!