我们应该在 Flutter 项目中将 Podfile.lock 添加到 .gitignore 吗?

Mar*_*ark 8 git gitignore cocoapods flutter

当然,在普通的 Xcode 项目中,Podfile.lock 应该总是被签入到版本控制中。然而,Flutter 的 iOS runner 应用程序并不是一个“普通”的 Xcode 项目(从某种意义上说,它由 Flutter 管理,开发人员很少接触)。

Flutter 使用 Cocoapods,我们的团队注意到 Podfile.lock 包含对开发人员机器上完整路径的引用。但是,这不会导致任何直接问题,因为显然,每次构建/运行 Flutter 应用程序时都会重新生成 Podfile.lock,并且完整路径会更改为您机器上的任何路径。此外,删除 Podfile.lock 不会造成任何伤害,因为它无论如何都是自动生成的。

问题是它会导致 git 中烦人的合并冲突,每次都必须解决。由于它是自动生成的,我想知道在这种情况下是否真的有必要将其签入版本控制,或者忽略 .gitignore 中的文件是否安全。

在 Github 上对此有更多争论,但我似乎无法在那里找到明确的答案。

—edit— 澄清一下:我知道 Podfile.lock 是干什么用的,我只是不确定我对 Flutter 覆盖它的假设是否正确。

Pau*_*ien 5

签入的原因Podfile.lock是应用程序开发人员可以准确地重新创建和跨团队共享 Pod 配置。如果不签入Podfile.lock,同一团队的开发人员将根据他们签入的时间获得不同版本的 pod pod install

如果 flutter 覆盖了该Podfile.lock功能,则没有理由将其签入。