2017-03-21 184 views
21

当多个git分支修改使用Yarn的项目中的依赖关系时,可能会在yarn.lock文件中引入冲突。删除并重新生成yarn.lock文件不是一个好主意,因为这可能会导致几个软件包被无意升级。什么是快速解决此文件中的冲突的最佳方式?如何解决yarn.lock中的git冲突

回答

39

Since Yarn 1.0这很容易。只要运行这个:

$ yarn install 

yarn install v1.0.1 
info Merge conflict detected in yarn.lock and successfully merged. 
[1/4] Resolving packages... 

现在你只需要做git add yarn.lock && git rebase --continue

+0

我不相信这个工程是否有代码你'含yarn.lock'线,如'冲突==== ========','>>>>>>>>>>>>>>','<<<<<<<<<<<<<''。你仍然需要做克里斯廷施伦斯克的回答谈论的内容。 – theGreenCabbage

+9

@theGreenCabbage不相信,试试吧 – Vanuan

+0

无效,抛出错误发生意外错误:“/ location中的未知令牌7713:1” –

23

有关此问题的详细说明,请参见this github discussion

git rebase origin/master 

当第一次冲突时,我签 的yarn.lock然后重新执行安装

git checkout origin/master -- yarn.lock 
yarn install 

此基础上,产地/主版本yarn.lock的生成 新yarn.lock ,但是 包括我对我的package.json所做的更改。 然后,它只是一个事:

git add yarn.lock git rebase --continue