当然,在正常的 Xcode 项目中,Podfile.lock 应该始终签入到版本控制中。然而,Flutter的iOS运行器应用程序不是一个"普通"的Xcode项目(从某种意义上说,它由Flutter管理,很少被开发人员接触(。
Flutter 使用 Cocoapods,我们的团队注意到 Podfile.lock 包含对开发人员机器上完整路径的引用。但是,这不会导致任何直接问题,因为显然,每次构建/运行 Flutter 应用程序时都会重新生成 Podfile.lock,并且完整路径会更改为计算机上的任何路径。此外,删除 Podfile.lock 不会造成任何伤害,因为它是自动生成的。
问题是它在 git 中会导致烦人的合并冲突,每次都必须解决。由于它是自动生成的,我想知道在这种情况下是否真的有必要将其签入版本控制,或者忽略 .gitignore 中的文件是否安全。
Github上对此有更多的争论,但我似乎找不到明确的答案。
—编辑— 澄清一下:我知道 Podfile.lock 的用途,我只是不确定我关于 Flutter 覆盖它的假设是否正确。
签入Podfile.lock
的原因是,应用程序开发人员可以准确地重新创建和共享整个团队的 Pod 配置。如果不签入Podfile.lock
,同一团队的开发人员将根据他们何时pod install
获得不同版本的 pod。
如果 Flutter 覆盖了Podfile.lock
功能,则没有理由将其签入。