当多个 Git 分支修改使用 纱线的项目中的依赖项时,可能会在 yarn.lock 文件中引入冲突。删除并重新生成 yarn.lock 文件不是一个好主意,因为这可能会导致无意中升级几个包。快速解决此文件中冲突的最佳方法是什么?
关于这个问题,关于 Github 的讨论中详细介绍了一种好的方法。
git rebase origin/master 当第一个冲突出现时,我就退出 然后重新执行安装 git checkout origin/master -- yarn.lock yarn install 这会生成一个 基于 yarn.lock 的原始/主版本的新 yarn.lock,但是 包括我对 package.json的修改。然后就只剩下: git add yarn.lock git rebase --continue
git rebase origin/master
当第一个冲突出现时,我就退出 然后重新执行安装
git checkout origin/master -- yarn.lock yarn install
这会生成一个 基于 yarn.lock 的原始/主版本的新 yarn.lock,但是 包括我对 package.json的修改。然后就只剩下:
yarn.lock
package.json
git add yarn.lock git rebase --continue
由于 Yarn1.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
>>>>>>>
=======
<<<<<<<
HEAD