我认为 Rails 3 的 Bundler 创建的 5 组文件或文件夹是:
- 宝石文件
- Gemfile.lock
- .bundle/配置
- 供应商/捆绑
- 供应商/缓存
还有吗?对于它们中的每一个,是否应该将它们添加到存储库中? Gemfile
而且Gemfile.lock
,我认为是这样,因为这就是让每个人都使用相同版本的 gems 的原因。对于.bundle/config
,我认为对于开发,我们可能应该添加它,因为它说“不要使用共享宝石”(我认为这意味着系统宝石)......等等。我读了一个文档说如果它是部署,然后使用.gitignore
忽略这个文件,因为它在每台部署机器上可能不同(如何?)......所以这是否意味着只在部署机器上,使用本地.gitignore
来忽略它,而在开发中,不要忽略它?
vendor/bundle
文件呢?它们可以包含已编译的二进制文件,因此如果它们是由 Macbook 开发人员添加到项目中的,那么其他使用 Linux 的开发人员是否会受到影响?(或者当项目被克隆到使用 Linux 的部署服务器时)。
怎么样vendor/cache
?它包含所有.gem
文件。它们可以包含任何二进制文件吗?还是他们总是为用户做的bundle install --local
,而且他们都只包含文本文件,所以他们会在 gem 目录中生成适当的二进制文件,如果有的话,所以是否将这个文件夹添加到项目中是可选的,尽管如果我们运行bundle package
以生成此文件夹,其目的可能是让每个人都使用此文件夹创建 gem,而不是从 rubygems.org 中提取它?