1.可以通过路径打开git-bash.exe(有使用SourceTree的话,开始跳过这个从步骤3开始)
2.进入.git的路径
3.在sourcetree中打开命令行模式也能达到以上两个步骤的结果
4.可以看到已提交记录中,包含了IOranges的记录
5.删除指令
删除历史记录中的大文件详解
删除历史记录中的大文件,减少.git文件大小
git verify-pack -v .git/objects/pack/pack-*.idx|sort -k 3 -g|tail -5
git rev-list –objects –all|grep 2a884fc2cbe0fb770179c49551ef27e0fa922dc6
git log –pretty=oneline –branches – MD_Platform/Debug/MDSystemFolder/AbnormalScreenshot
以上只是查看,已确定要删除的就不需要了,下面的是真正的操作
git filter-branch –index-filter ‘git rm -r –cached –ignore-unmatch MD_Platform/Debug/MDSystemFolder/AbnormalScreenshot’ – –all
选择指定的文件或路径,并将其从git历史缓存中删除,注意删除整个文件需要在rm 后面加-r
rm -Rf .git/refs/original
删除Git历史文件备份
rm -Rf .git/logs/
删除日志信息
git gc
内存管理,到这一步本地文件大小就减少了
git prune
git push –force
强制上传推送,同步远端,根据文件大小要花费时间,最终完成!
注意:发现操作后,其他人需要重新从服务器中拉取Git库,否则会出现拉取、推送失败
2.删除远程origin的提交的最后一条记录
第一步:回滚上一次提交
git reset –hard master~1
第二步:强制提交本地代码
git push origin master -f