Ruby on rails Rails Gemfile.LOCK中的Git合并问题

Ruby on rails Rails Gemfile.LOCK中的Git合并问题,ruby-on-rails,git,Ruby On Rails,Git,使用git将分支b2合并到b1时: git merge root/b2 我的Gemfile.lock中出现冲突 GIT remote: git@git.abc.com:Proj1/lib1.git <<<<<<< HEAD revision: w6efra4fr643a3bc07497rdadc1fc0baf9cc736f branch: b1 =======

使用git将分支b2合并到b1时:

git merge root/b2
我的Gemfile.lock中出现冲突

       GIT
         remote: git@git.abc.com:Proj1/lib1.git
      <<<<<<< HEAD
         revision: w6efra4fr643a3bc07497rdadc1fc0baf9cc736f
         branch: b1
      =======
         revision: 2b38d19b924724667aed675b31fc6649012a8141
         branch: b2
      >>>>>>> root/b2
         specs:
           lib1 (0.2.1)
             active_patch (>= 0.0.2)

我是rails新手,因此不确定如何解决此冲突。这里有什么帮助吗?

如果您要提交Gemfile.lock,那么删除它然后运行bundle安装是您应用程序最糟糕的事情

理性存在

如果您的gem文件有一个没有版本的gem,它很可能会被更新到最新版本

gem'mysql'将更新为0.3.16

gem'mysql'、'3.0.14'无需担心,将保持不变

许多gem使用其他gem的伪版本,而不是依赖项。例如“~>{ver}”。创建一个新的Gemfile.lock肯定会更新这些悲观依赖项

尽管这可能会破坏您的应用程序。但至少gem应该只在你想要的时候更新

回到您的问题,您可以使用以下git合并策略来确保您想要保留哪些更改

`git merge -Xours b2` This will keep changes from file version of b1 branch in case of conflict
`git merge -Xtheirs b2` This will keep changes from file version of b2 branch in case of conflict
如果您不确定想要哪一个,请使用any并将gem更新为其最新的git提交

`bundle update --source lib1`

您必须查看分支b1和b2之间的差异,以决定如何解决此合并。删除您的Gemfile.lock rm-rf Gemfile.lock,然后捆绑安装并提交它:哦,我可以删除Gemfile.lock,运行bundle安装生成一个新的并提交,对吗?