有没有办法让git以静默方式添加目录中的所有更改?

时间:2015-06-12 13:01:18

标签: git intellij-idea

我在IntelliJ中工作最多,Jetbrains建议将IDE的配置目录.idea保存在VCS中。令人烦恼的是,这个目录包含许多文件(例如,每个maven依赖项都有一个XML文件),我经常在leiningen项目中更改一些依赖项/更改一些IDE设置,整理一些东西,做一些提交,然后有时候之后,.idea会有一小部分变化。

通过修改提交来管理它并不是一件巨大的困难,但我真的不想这么做 - 这些只是支持文件,如果没有它们,项目就没那么有效了。简而言之,我希望它们在git中用于备份目的 - 它们的版本历史几乎是完全冗余的(无论如何,对我来说。)

有没有办法让git默默地盲目添加所有这些文件,只要它有机会,几乎就像.gitignore的倒数?换句话说,仅.idea中的更改会显示为干净的工作树,但是它们会在下次提交时提交?

我相当确定这是一个坏主意™,但是git是一个复杂的野兽,如果存在一些机制,我不会感到惊讶。

1 个答案:

答案 0 :(得分:1)

您可能已将整个.idea文件夹添加到Git,这是一个Bad Idea™,因为其中一些文件包含用户特定的设置,例如workspace.xml

IntelliJ的

The standing recommendation是根据您正在使用的项目结构省略选择文件。

  • 如果您正在使用.idea文件夹,请在workspace.xml

    中省略tasks.xml.gitignore
    .idea/workspace.xml
    .idea/tasks.xml
    
  • 如果您正在使用旧版.iml.ipr.iws文件,请在.iws中忽略.gitignore:< / p>

    *.iws
    

完成后,您将要从存储库中删除它们

git rm --cached .idea/workspace.xml .idea/tasks.xml

git rm --cached *.iws

你应该注意到Git想要更少地添加对这些文件的更改。

我拥有的最佳建议是使用它来引导项目;尽管如此,在其他依赖管理方案中有更好的选择,例如Gradle和Maven,IDEA可以很好地与之合作。