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

2022-08-30 04:22:32

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


答案 1

从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...

然后冲突将得到解决,你可以承诺或继续重新定基,如果这是你正在做的事情。


答案 2

一个很好的方法在github关于这个问题的讨论中详细介绍。

git rebase origin/master

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

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

这将生成一个基于 yarn.lock 的起源/母版的新版本,但包括我对 .那么问题就到:yarn.lockpackage.json

git add yarn.lock
git rebase --continue