如何撤销已推送的、删除untracked文件package-lock.json的Git提交?
解决方案
步骤1:恢复远程仓库中的package-lock.json文件
先撤销远程仓库里的删除操作,避免其他人拉取时丢失文件:
- 从上个提交中恢复文件:
git checkout HEAD~1 -- package-lock.json - 提交恢复操作并推送到远程:
git add package-lock.json git commit -m "Revert accidental deletion of package-lock.json" git push
步骤2:将package-lock.json设置为未追踪状态
让仓库停止追踪这个文件,同时保留本地文件:
- 移除版本控制对该文件的追踪:
git rm --cached package-lock.json - 提交这个更改并推送到远程:
git commit -m "Stop tracking package-lock.json" git push
步骤3:防止后续误提交
把文件加入.gitignore,彻底避免误提交:
- 打开项目根目录的
.gitignore文件,添加一行:package-lock.json - 提交并推送
.gitignore的更改:git add .gitignore git commit -m "Add package-lock.json to .gitignore" git push
补充说明
如果已经有其他成员拉取了错误的提交,他们只需执行git pull就能获取修复后的版本;若本地文件已被删除,可通过重新安装依赖(npm install)重新生成package-lock.json。
内容的提问来源于stack exchange,提问作者Yassine KAROUI
相关产品推荐
相关产品推荐

