如何撤销Git中涉及已删除文件的提交?
解决Git推送因已删除大文件失败的问题
你遇到的问题核心是:包含大文件的提交已被创建,即便删除了本地文件,推送时Git仍会尝试提交记录在commit里的大文件。以下是具体解决步骤:
撤销最近的提交(保留本地删除大文件的操作):
git reset --soft HEAD~1
该命令会将当前分支的HEAD指针回退到上一次正常提交的状态,同时保留暂存区内容。清空暂存区,彻底移除大文件的相关记录:
git reset
这一步会让暂存区与HEAD保持一致,清除之前添加的大文件痕迹。重新添加需要提交的文件(大文件已删除,不会被纳入):
git add .
也可指定具体文件,避免误加无关内容。重新创建提交:
git commit -m "你的提交信息"再次尝试推送:
git push origin master
若需要彻底丢弃所有未提交修改(包括删除大文件的操作),可使用git reset --hard HEAD~1,但该命令会清空本地未提交的所有更改,执行前请确认无需保留相关内容。
内容的提问来源于stack exchange,提问作者user24841889




