我在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/

其他回答

在你的终端上使用git rm -r——cached .idea非常适合我。它禁用了更改跟踪,并取消了rubymine文件夹(idea/)下的许多文件的设置,然后我可以添加并提交给git,从而消除了比较,并允许.idea/的gitignore设置工作。

对我来说,只有一个解决方案,删除。idea文件夹,而不是提交文件。gitignore“。然后再次使用IDE

在你的终端试试git rm -r——cached .idea。它禁用更改跟踪。

如果您已经进行了初始提交,并且您的.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/

虽然我切换到Rubymine的时间并不长,但我发现忽略Rubymine的.idea文件并将其提交给git是一件很有挑战性的事情。

以下是我的解决方法

如果你根本没有做过任何分期/提交,或者你刚刚在我的Ruby中启动了一个新项目,那么就简单地这样做

选项1

将下面的代码行添加到.gitignore文件中,该文件通常位于存储库的根目录。

# Ignore .idea files
.idea/

这将确保git忽略所有的。idea文件,尽管它们仍然保留在本地的项目文件夹中。

选项2

如果你已经做了一些分期/提交,或者你刚刚在Ruby我的开发中打开了一个现有的项目,那么就简单地这样做

在终端/命令行中运行代码

git rm -r --cached .idea

这将删除git中已经跟踪的。idea文件

接下来,将.idea/包含到.gitignore文件中,该文件通常位于存储库的根目录。

# Ignore .idea files
.idea/

这将确保git忽略所有的。idea文件,尽管它们仍然保留在本地的项目文件夹中。

选项3

如果你已经做了一些staging/commit,或者你刚刚在Ruby mine中打开了一个现有的项目,并且想在本地和git中完全删除.idea文件,那么就简单地这样做

在终端/命令行中运行代码

git rm -r --cached .idea

这将删除git中已经跟踪的。idea文件

在终端/命令行中运行代码

rm -r .idea

这将删除包括本地文件夹在内的所有。idea文件

接下来,将.idea/包含到.gitignore文件中,该文件通常位于存储库的根目录。

# Ignore .idea files
.idea/

这将确保git忽略所有的。idea文件,并从本地项目文件夹中删除。

这是所有

我希望这对你们有帮助