ruby-on-rails – 如何在协同上下文中处理bundler更新(Gemfile.lock)?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在协同上下文中处理bundler更新(Gemfile.lock)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我曾经是一个特定项目的独立程序员,但现在有人已经加入了合作者.只有我在图片中,bundler更新顺利,我从来没有想过Gemit.lock被 Git跟踪.

新的合作者在克隆repo后运行捆绑安装,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

这个变化被推到一个命名的分支主人.我应该怎么处理这个变化?

大声思考:我是否将GitHub上的Pull请求合并?首先从上游拉扯拉扯请求吗?我是否运行特定的bundler命令来与其他协作者的Gemfile.lock进行同步?有没有其他协作者可以做的不同,所以他们没有引起任何宝石更新(相反,只是下载在现有的Gemfile.lock中指定的宝石)?这种情况下最好的做法是什么?

解决方法

Gemfile.lock应该是版本控制的.您应该对其进行任何更改.当有人(你信任谁)更新它,你应该运行捆绑安装来安装当前锁定在Gemfile.lock中的宝石.

刚刚运行bundle install将不会更新现有的Gemfile.lock.为此,您需要运行捆绑更新.

所有这一切,您的Gemfile.lock中的版本没有实际的更改.所有这一切都是几条论据的顺序.您可以安全地将这些更改合并或忽略;所得到的Gemfile.lock将(功能上)相同.

猜你在找的Ruby相关文章