0

我有合并冲突并且知道冲突但对如何解决它感到困惑。

<<<<<<< HEAD
   orm_adapter (0.5.0)
=======
   arser (2.3.1.4)
     ast (~> 2.2)
>>>>>>> master

<<<<<<< HEAD
warden (1.2.6)
  rack (>= 1.0) 
=======
unicode-display_width (1.1.1)
>>>>>>> master

我是否只是将冲突 gem 添加到 gem 文件中?

4

1 回答 1

1

您不想删除 Gemfile.lock。您应该做的是重置锁定文件,然后再次捆绑。

git checkout Gemfile.lock
bundle

如果您删除锁定文件和捆绑包,您很可能会升级应用程序中的许多 gem。即使你已经做好了悲观版本控制,你仍然会升级补丁版本,这是你不想因为合并冲突而做的事情。

另外,关于不将锁定文件添加到 git 的想法,请不要这样做。这样做会导致每个开发人员在他们的开发机器上安装一组不同的 gem 版本。此外,这会导致您的服务器安装的 gem 版本与您正在开发的版本不同。

所有这一切都是在对Gemfile. 运行 bundle 将添加(到锁文件)任何 gem 添加到Gemfile. 但是,它不会更改锁定文件中的任何其他 gem。如果您删除锁定文件,它将基于 生成一个全新的锁定文件Gemfile,该文件将具有允许的最新 gem 版本(当前除非 Gemfile 中有任何版本控制)。

于 2016-10-23T17:16:27.847 回答