我应该在 svn:ignore 所有 .iml 文件之后提交所有目录更改吗?

Should I commit all directory changes after svn:ignore all .iml files?

在我使用 IntelliJ 进行的项目中,IDE 生成了一堆 .iml 类型的文件。在我的项目目录中查看 svn st 时,会显示所有这些文件。不想将所有这些 IDE 相关文件提交到我的存储库,我选择忽略此文件类型(如概述 here):

svn propset svn:ignore "*.iml" .

但是,现在我的项目在检查颠覆状态时显示我的所有子目录都已修改 (svn st)。我不想在准备提交更改时查看大量修改列表,但我对提交所有这些修改目录感到犹豫。

第一个问题:在提交 IntelliJ 项目时忽略 .iml 文件是一种好习惯吗?

第二个问题:提交所有因忽略 .iml 文件而修改的项目目录是否安全?

更新:我决定回滚对 .iml 文件的忽略,因为 .iml 文件列表比我必须提交的修改目录列表短。我仍然觉得我没有为此找到明确的最佳实践。经常使用 IntelliJ 编码的人 IDE 有好的解决方案吗?

问题 1:那些 .iml 文件是从 版本的其他项目自动生成的,还是特定于您的 user/workstation?如果是,那么是的,你不应该对这些版本进行版本化(忽略会帮助你)。

问题 2:如果您提交的只是目录的 属性 更改,那么可以。如果您更改了您 提交的文件,这些文件是否会破坏构建或以其他方式违反您的开发流程关于什么应该和不应该提交(以及何时)的任何规则?

我的经验法则是每次提交都应该只与一个更改相关联。所以在这种情况下,我会提交 just svn:ignore 属性 更改,如果我有其他未提交的更改,我会单独提交它们。原因是如果我以后必须回滚更改,我不会丢失更改 A,因为更改 B 在同一个提交中,即使它们不相关。