После некоторой разработки приложения проверьте приложение вместе со снимком Gemfile и Gemfile.lock. Теперь в вашем хранилище есть запись точных версий всех драгоценных камней, которые вы использовали в последний раз, когда вы точно знали, что приложение работало. Имейте в виду, что, хотя ваш Gemfile перечисляет только три драгоценных камня (с разной степенью строгости версии), ваше приложение зависит от десятков драгоценных камней, если принять во внимание все неявные требования драгоценных камней, от которых вы зависите.
Это важно: Gemfile.lock делает ваше приложение единым пакетом как вашего собственного кода, так и стороннего кода, который он запускал в последний раз, когда вы точно знали, что все работает. Указание точных версий стороннего кода, от которого вы зависите, в вашем Gemfile не даст такой же гарантии, потому что гемы обычно объявляют диапазон версий для своих зависимостей.
В следующий раз, когда вы запустите пакетную установку на том же компьютере, пакет увидит, что у него уже есть все необходимые зависимости, и пропустит процесс установки.
Не проверяйте каталог .bundle или какие-либо файлы внутри него. Эти файлы специфичны для каждого конкретного компьютера и используются для сохранения параметров установки между запусками команды bundle install.
Если вы запустили пакет, то гемы (хотя и не git гемы), необходимые для вашего комплекта, будут загружены в вендор / кеш. Bundler может работать без подключения к Интернету (или серверу RubyGems), если все нужные вам гемы присутствуют в этой папке и зарегистрированы в вашем контроле исходного кода. Это необязательный шаг, который не рекомендуется из-за увеличения размера репозитория исходного кода.