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.xml
和tasks.xml
文件除外)。我能理解其中的意义,因为我可能会错误地配置项目设置并想要还原。
然而,我想 post 这个开源的多模块 Maven 驱动项目到 BitBucket public 访问。显然,并不是每个人都使用 IntelliJ 作为他们的 IDE,所以我不想将我的 IDE 设置强加给他们。
➠ 开源作者如何解决这个难题?
我根据经验提出的建议是始终明确忽略(即添加到 .hgignore
或 .gitignore
)IDE 配置文件或目录。
这不仅仅是一个不使用特定 IDE 的配置文件向项目发送垃圾邮件的问题。当超过一个人使用相同的 IDE 时,真正的问题就开始了。根据 IDE 及其配置方式,您可能会遇到这样一种情况,即每次提交都包含对这些文件的更改,并且会使使用相同 IDE 的所有其他开发人员感到困惑,而这反过来又会在无限循环中再次覆盖更改。
您的一些 IDE 设置将是全局的并存储在您的主目录中。只要您不更改克隆回购协议的本地目录,特定于项目的那些就会存在。如果您更改目录,根据我的经验,重新配置 IDE 总是可以接受的。本地目录发生变化至少有两种情况:(1)你删除目录并重新克隆存储库(2)你使用多台计算机。
如果您担心编码风格等问题,那么最好的方法是使用适用于任何编辑器或 IDE 的命令行格式化程序工具。该工具将在 repo 中提交其配置文件,因为编码风格对于所有开发人员和 repo 文件应该是相同的。
IntelliJ 2017.2 documentation suggests including the .idea
folder that contains that IDE自己的配置文件(workspace.xml
和tasks.xml
文件除外)。我能理解其中的意义,因为我可能会错误地配置项目设置并想要还原。
然而,我想 post 这个开源的多模块 Maven 驱动项目到 BitBucket public 访问。显然,并不是每个人都使用 IntelliJ 作为他们的 IDE,所以我不想将我的 IDE 设置强加给他们。
➠ 开源作者如何解决这个难题?
我根据经验提出的建议是始终明确忽略(即添加到 .hgignore
或 .gitignore
)IDE 配置文件或目录。
这不仅仅是一个不使用特定 IDE 的配置文件向项目发送垃圾邮件的问题。当超过一个人使用相同的 IDE 时,真正的问题就开始了。根据 IDE 及其配置方式,您可能会遇到这样一种情况,即每次提交都包含对这些文件的更改,并且会使使用相同 IDE 的所有其他开发人员感到困惑,而这反过来又会在无限循环中再次覆盖更改。
您的一些 IDE 设置将是全局的并存储在您的主目录中。只要您不更改克隆回购协议的本地目录,特定于项目的那些就会存在。如果您更改目录,根据我的经验,重新配置 IDE 总是可以接受的。本地目录发生变化至少有两种情况:(1)你删除目录并重新克隆存储库(2)你使用多台计算机。
如果您担心编码风格等问题,那么最好的方法是使用适用于任何编辑器或 IDE 的命令行格式化程序工具。该工具将在 repo 中提交其配置文件,因为编码风格对于所有开发人员和 repo 文件应该是相同的。