Include/exclude IDE 来自 Mercurial 版本控制的特定配置文件

Include/exclude IDE-specific configuration files from Mercurial version control

IntelliJ 2017.2 documentation suggests including the .idea folder that contains that IDE自己的配置文件(workspace.xmltasks.xml文件除外)。我能理解其中的意义,因为我可能会错误地配置项目设置并想要还原。

然而,我想 post 这个开源的多模块 Maven 驱动项目到 BitBucket public 访问。显然,并不是每个人都使用 IntelliJ 作为他们的 IDE,所以我不想将我的 IDE 设置强加给他们。

➠ 开源作者如何解决这个难题?

我根据经验提出的建议是始终明确忽略(即添加到 .hgignore.gitignore)IDE 配置文件或目录。

这不仅仅是一个不使用特定 IDE 的配置文件向项目发送垃圾邮件的问题。当超过一个人使用相同的 IDE 时,真正的问题就开始了。根据 IDE 及其配置方式,您可能会遇到这样一种情况,即每次提交都包含对这些文件的更改,并且会使使用相同 IDE 的所有其他开发人员感到困惑,而这反过来又会在无限循环中再次覆盖更改。

您的一些 IDE 设置将是全局的并存储在您的主目录中。只要您不更改克隆回购协议的本地目录,特定于项目的那些就会存在。如果您更改目录,根据我的经验,重新配置 IDE 总是可以接受的。本地目录发生变化至少有两种情况:(1)你删除目录并重新克隆存储库(2)你使用多台计算机。

如果您担心编码风格等问题,那么最好的方法是使用适用于任何编辑器或 IDE 的命令行格式化程序工具。该工具将在 repo 中提交其配置文件,因为编码风格对于所有开发人员和 repo 文件应该是相同的。