Git删除已提交记录内容

1.可以通过路径打开git-bash.exe(有使用SourceTree的话,开始跳过这个从步骤3开始)
Git删除已提交记录内容_第1张图片2.进入.git的路径
Git删除已提交记录内容_第2张图片3.在sourcetree中打开命令行模式也能达到以上两个步骤的结果
Git删除已提交记录内容_第3张图片4.可以看到已提交记录中,包含了IOranges的记录
Git删除已提交记录内容_第4张图片
5.删除指令
Git删除已提交记录内容_第5张图片

删除历史记录中的大文件详解
Git删除已提交记录内容_第6张图片删除历史记录中的大文件,减少.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库,否则会出现拉取、推送失败

你可能感兴趣的:(实用工具,git,github)