You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销两次提交前package-lock.json文件的提交更改

撤销已推送的package-lock.json历史更改

如果你只是想让package-lock.json回到两次提交前的状态,同时保留历史提交记录(这种方式最安全,不会影响协作的其他开发者),按以下步骤操作:

  • 首先将该文件恢复到两次提交前的版本:

    git show HEAD~2:package-lock.json > package-lock.json
    

    这个命令会把HEAD往前数第2个提交里的package-lock.json内容,覆盖当前本地的同名文件。

  • 然后提交这个恢复操作:

    git add package-lock.json
    git commit -m "Revert package-lock.json to state before last two commits"
    
  • 最后推送到远程仓库:

    git push
    

如果你希望彻底从历史记录中移除该文件的这次更改(仅适合你独自使用的分支,或者团队成员都知晓并同意的情况,因为会修改远程历史):

  • 先将该文件的状态重置到两次提交前:

    git reset HEAD~2 package-lock.json
    

    这会把该文件的暂存区状态恢复到HEAD~2时的样子,本地文件也会同步更新。

  • 接着修改最近的两次提交(需要交互式变基):

    git rebase -i HEAD~2
    

    在弹出的编辑器里,把包含package-lock.json更改的那行前面的pick改成edit,保存退出后,执行:

    git commit --amend --no-edit
    git rebase --continue
    
  • 最后强制推送到远程(注意:会覆盖远程的历史提交,谨慎操作):

    git push --force-with-lease
    

内容的提问来源于stack exchange,提问作者haydnD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:35:22