如何让Git忽略Rubymine创建的.idea文件

Ada*_*NYC 166 git rubymine

我使用Rubymine进行Rails项目.Rubymine经常.idea/*对我不关心的文件进行更改.但它一直阻止我检查新的分支,并使我的版本.idea/与我的同事不同.

我们已经添加.idea/.gitignore,但它会跟踪变化.idea.我该怎么做正确的方法?

以下是我收到的典型错误消息之一:

error: Your local changes to the following files would be overwritten by checkout:
    .idea/workspace.xml
Run Code Online (Sandbox Code Playgroud)

Pet*_*rov 290

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

  • 非常感谢!但是为什么在我签出一个完全空的存储库后它在缓存中? (2认同)
  • 因此,如果该文件夹已在 Git 中被跟踪,则将 .idea/ 添加到 .gitignore 不会阻止 Git 跟踪它。您需要先执行“git rm -r --cached .idea”,然后将 .idea/ 添加到您的 .gitignore。这对我来说会很棒。 (2认同)

the*_*ric 231

.idea/工作正常,我

  • 部分问题是如果你已经上演了你的东西,.gitignore将无济于事. (20认同)
  • 但是如果你想在添加/签入后忽略文件/文件夹,那么你需要用"git rm -r --cached web/uploads"删除它们(在这个例子中我添加了"web/uploads"文件夹到.gigignore签入后的文件)来源:https://help.github.com/articles/ignoring-files/ (12认同)
  • 嗨,您好!想告诉我们你是如何做到的......对我不起作用?:( (4认同)
  • @BradBird我刚试过它 - 也适用于子文件夹.你也可以试试`**/.idea /` (4认同)
  • @丹罗森斯塔克谢谢你!这就是我的情况的错误...每个人都应该在查看他们的 .gitignore 文件之前检查这一点 (2认同)

Dar*_*ryn 39

需要注意的是JetBrains的建议:"如果你决定共享与其他开发人员IDE项目文件...",跟踪所有的.idea/*文件,除了以下三个文件:

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

因此,要遵循他们的建议,您可以将这3个文件添加到.gitignore.


资源:

如果您决定与其他开发人员共享IDE项目文件,请遵循以下准则:
...
以下是您需要共享的内容:

  • 项目根目录下.idea目录下的所有文件,除了存储用户特定设置的workspace.xml,usage.statistics.xmltasks.xml文件之外所有文件
  • ...

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

在该页面上还有一些关于哪些其他文件可以用于不同特定的jetbrains IDE和构建的附加说明.

  • 虽然我同意这个答案[正确性为+ 1',但我认为*那些对IDE不严格的团队可能会因为没有检查`.idea`文件夹而侥幸逃脱......它从来没有制作过无论如何,对我来说,在那里的文件总是冲突的原因没有意义. (10认同)
  • 提交IDE特定文件是一种不好的做法.一个原因是不同的开发人员可能使用不同的工具.另一个原因是这些文件可能包含用户特定的配置,这些配置会一直发生冲突. (6认同)
  • 这个建议是一个不好的做法.在项目中使用它是版本文件的最佳方式,这些文件包含用户特定信息,例如绝对路径......只需查看`.idea`文件夹,然后再执行此步骤. (2认同)
  • 虽然我同意 _blindly_ 提交 IDE 文件总是一个坏主意,因为盲目提交任何东西都是一个坏主意。在某些情况下,共享 IDE 文件可能效果很好。它在概念上类似于共享容器编排文件,因为它们是运行应用程序的一种方式。就像 IDE 文件是开发项目的一种方式一样,可以包含有用的定义,例如如何运行单元测试或代码覆盖率命令,为特定的 IDE 精心包装。大多数“.idea”文件(至少在 PyCharm 中)被设计为共享。 (2认同)

Per*_*ion 26

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


app*_*ics 22

如果Git已经在跟踪文件,将文件添加到.gitignore将不会阻止Git跟踪它.您需要首先执行有问题的文件,然后添加到您的.gitignore.

添加.idea /应该工作


GMa*_*arx 20

git rm -r --cached .idea在你的终端使用对我来说很棒.它禁用更改跟踪并取消设置rubymine文件夹(idea /)下的一些文件,然后我可以添加并提交到git,从而删除比较并允许gitignore设置.idea/工作.


小智 13

在终端关闭PHP Storm转到项目文件夹类型

git rm -rf .idea; git commit -m "delete .idea"; git push;
Run Code Online (Sandbox Code Playgroud)

然后转到项目文件夹并删除文件夹.idea

sudo rm -r .idea/
Run Code Online (Sandbox Code Playgroud)

启动PhpStorm,你就完成了


小智 12

在rubymine gui中,有一个忽略列表(设置/版本控制).也许尝试在那里禁用它.我得到了支持者的暗示.

在此输入图像描述


Pro*_*ton 10

虽然我切换到 Rubymine 的时间不久,但我发现忽略 Rubymine 的 .idea 文件从提交到 git 是一个挑战。

这是我修复它的方法

如果你根本没有做任何暂存/提交,或者你只是在 Ruby mine 中启动了一个新项目,那么只需执行此操作

选项1

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

# Ignore .idea files
.idea/
Run Code Online (Sandbox Code Playgroud)

这将确保所有 .idea 文件都不会被 git 跟踪,尽管它们仍将保留在您本地的项目文件夹中。

选项 2

但是,如果您已经完成了一些暂存/提交,或者您刚刚在 Ruby mine 中打开了一个现有项目,那么只需执行此操作

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

git rm -r --cached .idea
Run Code Online (Sandbox Code Playgroud)

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

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

# Ignore .idea files
.idea/
Run Code Online (Sandbox Code Playgroud)

这将确保所有 .idea 文件都不会被 git 跟踪,尽管它们仍将保留在您本地的项目文件夹中。

选项 3

但是,如果您已经完成了一些暂存/提交,或者您刚刚在 Ruby mine 中打开了一个现有项目,并且想要在本地和 git 中完全删除 .idea 文件,那么只需执行此操作

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

git rm -r --cached .idea
Run Code Online (Sandbox Code Playgroud)

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

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

rm -r .idea
Run Code Online (Sandbox Code Playgroud)

这将删除所有 .idea 文件,包括本地文件夹

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

# Ignore .idea files
.idea/
Run Code Online (Sandbox Code Playgroud)

这将确保所有 .idea 文件都被 git 跟踪而忽略,并且也会从本地的项目文件夹中删除。

就这样

我希望这有帮助


fos*_*ias 9

将.idea添加到〜/ .gitignore_global并按照此处的说明运行.gitignore_global:

Git全局忽略不工作

然后,您不必将其添加到单个.gitignore文件中.


Wil*_*iem 5

您可以使用gitignore进行高级 gitignore 文件生成。它快速、简单,并且会自动为您生成最先进的标签。

将此链接用于大多数 jetbrains 软件(intelijphpstorm ...) jetbrains .gitignore 文件

[编辑]

下面是为 Jetbrains 软件生成的 gitignore 文件,这将阻止您共享任何 Jetbrains 软件用于管理项目的敏感信息(密码、密钥库、数据库密码...)。

# Created by https://www.gitignore.io

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

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

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

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
Run Code Online (Sandbox Code Playgroud)

生成的代码也得到了很好的注释。希望能帮助到你:)