Git删除已提交记录内容

  • Post author:
  • Post category:其他


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



版权声明:本文为Aflashstar原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。