该应用程序是使用 Sencha Architect 开发的,它使用大量辅助文件来管理各种与 IDE 相关的事物(导出路径、IDE 版本控制等)。
每次团队成员在 Sencha Architect IDE 中打开项目时,其中一些文件都会发生变化。
举一个特别烦人的变化的例子,考虑一下属性exportPath
在架构师生成的*.xds
文件。我将选择一个服务器来发布到特定路径,而其他团队成员将具有不同的服务器/路径配置。
在我们的代码库中,我非常希望拥有 IDE 文件:
- 在一个单独的存储库中,
- 在子模块中(是的,特定于 git,我知道)或者
- 驻留在用户计算机上,VCS 不会注意到其中的更改。
这里要注意的关键是,Sencha Architect 希望文件位于相对于项目的某些位置,因此 IDE 文件必须与普通源文件位于同一位置。
此外,使用 .gitignore 也不是一种选择,因为 Sencha Architect 会在其中一些文件中写入对于其他团队成员正确打开它们至关重要的信息。例如。打开项目时,Sencha Architect 可以决定将项目升级到较新的版本(如果您想打开项目,这是非可选的),并且在更新过程中,IDE 将修改一些源代码 -代码文件。其他团队成员必须了解版本升级才能正确打开项目。
这个问题 https://stackoverflow.com/q/10594961/1448983给出了 Sencha 使用的复杂格式的一些背景知识。我原谅我对 Sencha Architect 架构的评价中的负面语气,但他们似乎把一个好主意(使用元数据和代码生成)做得有点过头了(使所有好的 UNIX 工具(包括 git)的使用变得无效)。
这里的首选方法是什么?为什么?
除非您有非常令人信服的理由,否则不应对 IDE 文件进行版本控制。也许您的项目仅使用特定 IDE 中的插件进行构建,并且您需要对这些设置进行版本控制。如果您不需要这些文件来构建或运行您的项目,您可能不应该对它们进行版本控制。
You can 忽略那些文件 https://help.github.com/articles/ignoring-files使用 Git。特别是,IDE 文件是全局 gitignore 的良好候选者,因为每个用户都会使用他们想要的任何 IDE,并且这些设置应该应用于他们的所有存储库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)