我在IntelliJ中工作最多,Jetbrains建议将IDE的配置目录.idea
保存在VCS中。令人烦恼的是,这个目录包含许多文件(例如,每个maven依赖项都有一个XML文件),我经常在leiningen项目中更改一些依赖项/更改一些IDE设置,整理一些东西,做一些提交,然后有时候之后,.idea
会有一小部分变化。
通过修改提交来管理它并不是一件巨大的困难,但我真的不想这么做 - 这些只是支持文件,如果没有它们,项目就没那么有效了。简而言之,我希望它们在git中用于备份目的 - 它们的版本历史几乎是完全冗余的(无论如何,对我来说。)
有没有办法让git默默地盲目添加所有这些文件,只要它有机会,几乎就像.gitignore
的倒数?换句话说,仅.idea
中的更改会显示为干净的工作树,但是它们会在下次提交时提交?
我相当确定这是一个坏主意™,但是git是一个复杂的野兽,如果存在一些机制,我不会感到惊讶。
答案 0 :(得分:1)
您可能已将整个.idea
文件夹添加到Git,这是一个Bad Idea™,因为其中一些文件包含用户特定的设置,例如workspace.xml
。
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可以很好地与之合作。