已提交大文件后,如何移除文件并解决Git推送过慢问题?
解决Git大文件未移除及push缓慢问题
先从Git追踪列表移除已提交的
.sql文件(保留本地文件):git rm --cached *.sql若需删除本地
.sql文件,去掉--cached参数即可。提交移除操作:
git commit -m "移除已追踪的.sql文件并更新忽略规则"彻底清除Git历史中的
.sql文件(关键:否则历史里的大文件仍会拖慢push):git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.sql' --prune-empty --tag-name-filter cat -- --all强制推送修改后的分支到远程:
git push origin master --force注意:多人协作仓库执行强制推送前,务必和团队成员沟通,让他们重新拉取最新分支。
清理本地冗余Git对象释放空间:
git reflog expire --expire=now --all && git gc --prune=now --aggressive
简化方案(仅最近一次提交包含大文件时)
如果错误提交是最后一次操作,可直接撤销提交,重新处理:
git reset HEAD^
之后确认.gitignore里的*.sql规则生效,重新提交文件即可。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

