# Git 大文件清理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# Git 大文件清理相关的知识,希望对你有一定的参考价值。

参考技术A 结果

在 Git 仓库彻底删除一个文件只有一种办法:重写( Rewrite) 涉及该文件的所有提交。 幸运的是借助 git filter-branch 便可以重写历史提交,当然这也是 Git 中最危险的操作。 可以说比 rm -rf * 危险一万倍。

此时我们使用查找大文件的命令查找文件,发现那些文件还是在。怎么回事呢?因为没清理缓存。下面我们看下怎么清理缓存。

Git 仓库历史有个缓存期,如果不主动回收、清理仓库历史,一般的这些记录还会保存一段时间,以备你突然后悔了,没办法找回删掉的文件。那么怎么样才能主动回收资源能?就是通过以下命令:

这里我再添加一个大文件和一个说明文件,添加后提交。
执行 git log -p 命令查看提交内容,如下所示

很显然日志未发生任何变化

很显然,在提交日志里,根本看不到我们提交过什么大文件,只有和大文件同时提交的记录文件还在。那说明我们把大文件的提交记录清除了。

如果这些文件已经提交到远程仓库了,那么现在就有一个问题,远程仓库的提交记录和本地的提交记录不一致。只能强制提交或者强制update

如果大文件不曾提交到远程仓库,则可以处理了大文件后,直接提交到仓库。

Git+Gerrit如何永久删除历史文件(大文件/私密文件)
寻找并删除Git记录中的大文件

以上是关于# Git 大文件清理的主要内容,如果未能解决你的问题,请参考以下文章

sh 清理git仓库,删除未跟踪的文件等。

sh 清理git仓库,删除未跟踪的文件等。

CENTOS清理垃圾+查找大文件的办法

MAC磁盘清理大文件(清理其他卷宗)

MAC磁盘清理大文件(清理其他卷宗)

MAC磁盘清理大文件(清理其他卷宗)