Gemfile.lock应该包含在.gitignore中吗?

  • 回答 (2)
  • 关注 (0)
  • 查看 (107)

我对捆绑器和它生成的文件有点新鲜。我有一个GitHub的git回购副本,很多人都在贡献它,所以我很惊讶地发现,bundler创建了一个不存在于回购库中但不在.gitignore列表中的文件。

由于我已经分叉了,我知道把它添加到回购将不会破坏任何主要回购,但如果我做一个拉请求,会导致一个问题?

应该Gemfile.lock包含在存储库中?

uncle_lightuncle_light提问于
akjok54stay hungry stay foolish回答于

我的同事和我有不同的Gemfile.lock,因为我们使用不同的平台,Windows和Mac,而我们的服务器是Linux。

我们决定在repo中删除Gemfile.lock,并在git repo中创建Gemfile.lock.server,就像database.yml一样。然后,在将其部署到服务器之前,我们使用cap deploy hook将Gemfile.lock.server复制到服务器上的Gemfile.lock

心愿回答于

假设你不写一个rubygem,Gemfile.lock应该在你的仓库中。它被用作所有你需要的ruby及其依赖的快照。这样bundler不必在每次部署时都重新计算所有的gem依赖关系。

如果你正在做一个gem,那么不要检查你的Gemfile.lock。

扫码关注云+社区

领取腾讯云代金券