Как работать с обновлениями пакетов (Gemfile.lock) в контексте совместной работы?

Я был одиноким программистом по конкретному проекту, но теперь кто-то присоединился к нему как к соавтору. С только мной на картинке обновления bundler были гладкими, и я никогда не думал дважды о Gemfile.lock отслеживаться Git.

Новый соавтор выполнил bundle install после клонирования репо, а Gemfile.lock был обновлен следующим образом:

Gemfile.lock

@@ -141,7 +141,7 @@ GEM
       rack-ssl (~> 1.3.2)
       rake (>= 0.8.7)
       rdoc (~> 3.4)
-      thor (< 2.0, >= 0.14.6)
+      thor (>= 0.14.6, < 2.0)
     raindrops (0.10.0)
     rake (0.9.2.2)
     rdoc (3.12)
@@ -164,7 +164,7 @@ GEM
     sprockets (2.1.3)
       hike (~> 1.2)
       rack (~> 1.0)
-      tilt (!= 1.3.0, ~> 1.1)
+      tilt (~> 1.1, != 1.3.0)
     thor (0.16.0)
     tilt (1.3.3)
     treetop (1.4.10)
@@ -175,7 +175,7 @@ GEM
     tzinfo (0.3.33)
     uglifier (1.3.0)
       execjs (>= 0.3.0)
-      multi_json (>= 1.0.2, ~> 1.0)
+      multi_json (~> 1.0, >= 1.0.2)
     unicorn (4.3.1)
       kgio (~> 2.6)
       rack

Это изменение было перенесено в именованный филиал от мастера. Как я должен заниматься этим изменением?

Размышление вслух: объединить ли запрос Pull на GitHub? Я просто вытаскиваю вверх по течению без запроса Pull сначала? Я запускаю определенную команду диспетчера для синхронизации с другим сотрудником Gemfile.lock? Есть ли что-то, что другой соавтор мог бы сделать по-другому, чтобы они не вызывали каких-либо драгоценных камней для обновления (скорее, просто для загрузки драгоценных камней, указанных в существующем Gemfile.lock)? Каковы наилучшие методы в этой ситуации?

Ответы

Ответ 1

Gemfile.lock должен управляться версией. Вы должны вносить в него какие-либо изменения. Когда кто-то (кому вы доверяете) обновляет его, вы должны запустить bundle install, чтобы установить драгоценные камни, которые в настоящий момент заблокированы в Gemfile.lock.

Просто запуск bundle install не будет обновлять существующий файл Gemfile.lock. Для этого вам нужно запустить bundle update.

Все, что сказано, никаких фактических изменений в версиях в вашем Gemfile.lock нет. Все, что изменилось, это порядок аргументов для нескольких строк. Вы можете смело объединить эти изменения или игнорировать их; полученный Gemfile.lock будет (функционально) идентичным.