您如何解决 yarn.lock 中的 Git 冲突

How do you resolve Git conflicts in yarn.lock

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

this github discussion 中详细介绍了一个很好的方法。

git rebase origin/master

When the first conflict arises, I checkout the yarn.lock then re-perform the installation

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

This generates a new yarn.lock based on the origin/master version of yarn.lock, but including the changes I made to my package.json. Then it's just a matter of:

git add yarn.lock
git rebase --continue

Since Yarn 1.0 这很容易,因为它内置了对这种情况的支持。

先手动解决package.json中的冲突,然后运行这样:

$ yarn install

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

然后冲突将得到解决,您可以提交它或继续变基,如果那是您正在做的。

此文件太长,因此如果您需要在没有终端的情况下检查 vscode 中的冲突,也许您可​​以尝试在此文件中搜索以下术语:>>>>>>>=======<<<<<<<HEAD