在我最近的大多数项目中,我一直在使用Flutter 版本管理(FVM)来管理Flutter 版本.我注意到,.fvm
目录通常列在.gitignore
中,因此不会在Ffltter项目库中进行跟踪,这是有意义的--没有必要将整个Ffltter SDK保持在版本控制中.
排除整个.fvm
目录也排除了.fvm/fvm_config.json
文件.我很想知道为什么它没有被排除在.gitignore之外(例如!.fvm/fvm_config.json
),考虑到将其包含在源代码控制中的明显好处:
-
一百:该文件确保所有在项目中工作的开发人员使用相同的Flutter版本,减少兼容性问题和"它在我的机器上工作"问题.
-
Ease of Setup:新团队成员或贡献者可以通过运行
fvm install
来快速设置他们的开发环境,因为将自动安装正确的Flutter 版本. -
Convenient Updates:可以通过此文件轻松管理Flutter 版本的更新,确保所有团队成员在获取最新代码时同时进行更新.
-
Non-Intrusive:对于不使用FVM的开发人员,此文件不会干扰他们现有的工作流程或Flutter 设置.
考虑到这些好处,在源代码控制中包含.fvm/fvm_config.json
似乎是合乎逻辑的.然而,我观察到这并不是一种常见的做法.这背后有没有具体的原因?是否存在我忽略的缺点或潜在问题,从而证明将其排除在版本控制之外是合理的?所需的Flutter 版本也可以包括在文档中(例如自述文件或项目维基页面),但我看不出将其放在配置文件中只用一个命令安装有什么好处.