我正在处理 Mocha 的 git pull 请求。
我遇到了与 package-lock.json 文件相关的错误,我不小心将 ansi-regex 包从 2.1.1 更新到 3.0.0
我现在在将此版本恢复为原始版本时遇到问题,这是 repo 所有者要求的。
我遇到的主要问题是这个 npm 包只存在于 package-lock 中
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
它不存在于主 package.json 文件中。
通过研究,我发现不建议删除 package-lock 文件并使用 npm i 重新生成它,因为这可能会引入更多更改。
我也试过命令:
git checkout --theirs package-lock.json
git add package-lock.json
但是版本还是3.0.0
我也试过运行
npm uninstall --save ansi-regex@3.0.0 -package-lock.json
手动删除文件,但命令完成时不删除任何包。
我不确定如何让这个版本恢复到 repo 所有者的一个设置,并且真的可以使用一些帮助来确定下一步。
谢谢
最佳答案
您需要在修改之前找到提交的 ID package-lock.json
,并恢复package-lock.json
的内容从那个提交。
使用命令行(例如打开 git-bash
):
package-lock.json
使用 :git log package-lock.json
package-lock.json
回到提交中的版本 [ID]
使用 :git checkout [ID] -- package-lock.json
您可以从图形客户端执行相同的操作,只需确保从过去的提交中选择文件并仅 check out 该文件,而不是 check out 整个提交。
关于git - 将 package-lock.json 包改回原始 repo 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59652396/