如何在VSCode中从Git提交/同步队列移除指定大文件?
解决GitHub大文件推送失败(GH001)的方法
场景1:大文件是最后一次提交的内容
如果这个658MB的matrix factorization/src/rating.csv是你最后一次提交的内容,直接回退提交即可:
- 打开终端进入项目根目录,执行命令:
这会把本地仓库的提交指针退回到上一次,同时移除待推送的大文件记录。git reset HEAD^ - 新建或更新项目根目录的
.gitignore文件,添加一行:
防止以后这个文件被误提交。matrix factorization/src/rating.csv - 重新提交并推送正常内容:
git add . git commit -m "移除大文件,重新提交" git push
场景2:大文件已存在于历史提交中
如果这个大文件已经在之前的多次提交里,需要彻底清理Git历史:
- 执行命令从所有历史提交中删除该文件:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch "matrix factorization/src/rating.csv"' --prune-empty --tag-name-filter cat -- --all - 强制推送到远程仓库(注意:如果有协作开发者,提前告知,这会重写仓库历史):
git push origin --force --all - 同样更新
.gitignore文件添加该文件路径,避免后续误提交。
额外清理步骤(可选)
如果本地Git缓存还有残留,执行以下命令刷新:
git rm -r --cached . git add . git commit -m "清理缓存,同步.gitignore设置" git push
内容的提问来源于stack exchange,提问作者Zhanna Orlova
相关产品推荐
相关产品推荐

