1. ホーム
  2. ruby

[解決済み] Gemfile.lockは.gitignoreに含めるべきですか?

2022-03-19 19:48:34

質問

私はbundlerとそれが生成するファイルについて、ある種の初心者です。私は GitHub から多くの人が貢献している git リポジトリのコピーを持っているので、bundler がリポに存在しないファイルを作成したことに驚きました。 .gitignore というリストがあります。

フォークしているので、レポに追加してもメインレポは何も壊れないと思いますが、プルリクエストをしたら問題が発生するのでしょうか?

すべき Gemfile.lock はリポジトリに含まれますか?

解決方法は?

2021年の簡単な答え。 Gemfile.lockはRubygemsのバージョン管理にもあるべきものです。 . この回答は、11年前に受理されています。

ここにいくつかの推論があります(コメントからの抜粋)。

ジョゼ・バリム https://github.com/heartcombo/devise/pull/3147#issuecomment-52193788

<ブロッククオート

Gemfile.lockはリポジトリに残すべきです。なぜなら、貢献者や開発者はプロジェクトをフォークして、動作が保証されているバージョンを使って実行することができるようになるべきだからです。

倉敷市 https://github.com/rails/rails/pull/18951#issuecomment-74888396

<ブロッククオート

プラグインでもロックファイルを無視するのはよくないと思います。

これは、quot;git clone; bundle; rake test"のシーケンスが、何十もの依存関係のうちの1つがアップグレードされてコードが壊れたからといって、パスする保証がないことを意味します。また、@chancancode が言ったように、バイセクトを行うのがかなり難しくなります。

また、RailsはGemfile.lockがgitにあります。