ChatGPT解决这个技术问题 Extra ChatGPT

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

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


O
OZZIE

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

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


如果您的 yarn.lock 中包含 ============>>>>>>>>>>>>>><<<<<<<<<<<<< 等代码行存在冲突,我认为这不起作用。您仍然需要执行 Christine Schlensker 的回答所涉及的内容。
@theGreenCabbage 不信,试试看
你需要先解决你在 package.json 中的冲突,然后运行 yarn 它应该处理它
它为我打印出“成功合并”消息,但 yarn.lock 仍然包含合并冲突。
这可行,但 webstorm 仍然显示它有冲突,如何将其标记为已解决?
d
dhilt

this github discussion 中详细介绍了一个关于该问题的好方法。

git rebase origin/master 当第一次冲突出现时,我checkout了yarn.lock然后重新执行安装yarn.lock,但包括我对 package.json 所做的更改。那么这只是一个问题: git add yarn.lock git rebase --continue


对于这个和公认的答案,我必须多次重复命令,git 最终得到以下结果:No changes - did you forget to use 'git add'? If there is nothing left to stage, chances are that something else already introduced the same changes; you might want to skip this patch.
我的修复以常规合并的这些步骤结束 - 它从未在我的 rebase 上工作过。
M
Muhammed Moussa

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