您如何解决 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
当多个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 installationgit 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 mypackage.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