gpt4 book ai didi

intellij-idea - IntelliJ IDEA 9 + Maven + 版本控制的最佳实践

转载 作者:行者123 更新时间:2023-12-02 13:38:57 28 4
gpt4 key购买 nike

该项目使用 Maven,因此 POM 文件是项目信息的主要来源。项目文件中有一些有用的设置,最好保留。

OTOH IDEA 似乎在项目文件结构中创建了太多冗余更改,这会污染 SVN 历史记录,有时还会产生冲突。

我应该将 .idea 目录和 *.iml 文件置于版本控制之下吗?在全?部分?

更新:因此,到目前为止,我发现对我和我的团队最有效的最佳实践是:

  1. checkin 所有 IDEA 文件、*.iml 和 .idea 目录。它们包含有值(value)的信息,每次更新时重新创建它们是浪费时间。
  2. 为每个开发者创建私有(private)分支
  3. cd 进入 .idea 目录
  4. svn 将其切换到其对应的私有(private)分支
  5. 不要在定期提交时 checkin IDEA 文件——它们会污染历史记录。检查他们的特殊提交。

这样,您可以将 .idea 目录的内容保留在版本控制中,但不会妨碍常规提交。任何开发人员都可以访问其他人的 IDEA 目录。

更新 2:自从写了这个问题后,我已经改变了我的做法,按照许多响应者的建议,将任何 IntelliJ 文件 checkin 版本控制中。这是我目前对 Maven 和 Gradle 的实践。这些工具已经发展到可以始终从原始 .POM 或 .gradle 文件复制关键信息的程度。当文件更改时,IDE 会可靠地跟踪更改,因此您不会经常丢失 IDE 文件,因此无需 checkin 它们。

更新 3:在提出这个问题 7 年后,它似乎仍然具有相关性。同样的最佳实践也适用于 Gradle(也可能是 SBT):不要 checkin IDE 文件,而是根据需要从基本 POM、.gradle 或 SBT 文件重新创建它们。

最佳答案

简短的回答:不要将这些文件放在源代码控制存储库中,因为您可以“生成”它们(如果您不需要它们,如果它们很烦人,如果它们会破坏其他环境,则更是如此)。

我个人对 svn:ignore 使用以下值:

target 
*~
*.log
.classpath
.project
*.ipr
*.iws
*.iml
.settings

关于intellij-idea - IntelliJ IDEA 9 + Maven + 版本控制的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655293/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com