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将(功能上)相同.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...