当多个Git分支修改了一个使用Yarn的项目中的依赖项时,很可能会在yarn.lock文件中引入冲突。删除并重新生成yarn.lock文件并不是一个好主意,因为这可能会导致多个包被无意中升级。快速解决该文件中冲突的最佳方法是什么?
mklgxw1f1#
Since Yarn 1.0很简单,因为它内置了对这种情况的支持。首先手动解决package.json中的冲突,然后运行以下命令:
package.json
$ yarn install yarn install v1.0.1 info Merge conflict detected in yarn.lock and successfully merged. [1/4] Resolving packages...
然后冲突将被解决,你可以提交,或继续重建基地,如果这是你正在做的。
neskvpey2#
一个好的方法在github关于这个问题的讨论中有详细的介绍。
git rebase origin/master
当第一个冲突出现时,我 checkout yarn.lock,然后重新执行安装
yarn.lock
git checkout origin/master -- yarn.lock yarn install
这将基于yarn.lock的原始/主版本生成一个新的yarn.lock,但包括我对package.json所做的更改。
git add yarn.lock git rebase --continue
1aaf6o9v3#
如果“装纱”不管用
1) git checkout <target branch> 2) git pull 3) git checkout <our branch with conflict> 4) git merge <target branch> (you will see merge conflict on yarn.lock) 5) rm yarn.lock 6) yarn 7) git add yarn.lock 8) git commit -m 9) git push
bksxznpy4#
这个文件是太长,所以如果你需要检查冲突在vscode没有终端也许你可以尝试到一个搜索在这个文件中为这样的条件:>>>>>>>、=======、<<<<<<<或HEAD
>>>>>>>
=======
<<<<<<<
HEAD
4条答案
按热度按时间mklgxw1f1#
Since Yarn 1.0很简单,因为它内置了对这种情况的支持。
首先手动解决
package.json
中的冲突,然后运行以下命令:然后冲突将被解决,你可以提交,或继续重建基地,如果这是你正在做的。
neskvpey2#
一个好的方法在github关于这个问题的讨论中有详细的介绍。
当第一个冲突出现时,我 checkout
yarn.lock
,然后重新执行安装这将基于yarn.lock的原始/主版本生成一个新的
yarn.lock
,但包括我对package.json
所做的更改。1aaf6o9v3#
如果“装纱”不管用
bksxznpy4#
这个文件是太长,所以如果你需要检查冲突在vscode没有终端也许你可以尝试到一个搜索在这个文件中为这样的条件:
>>>>>>>
、=======
、<<<<<<<
或HEAD