有没有办法清除git历史记录中的某些文件?

时间:2020-03-06 14:23:27  来源:igfitidea点击:

我已经将几个项目从Subversion迁移到了git。它确实工作得很好,但是当我克隆我的存储库时,确实很长,因为我在传输中包含了很多.jar文件的所有历史记录。

有没有一种方法可以将某些类型文件的最新版本保留在我的主存储库中。我主要想删除二进制文件上的旧版本。

解决方案

简而言之,这将涉及重写整个git commit树以排除文件。
我们是否尝试过使用git gc和git pack来git压缩存储库?

我们可以使用" git rebase" -i或者" git filter-branch"删除旧版本

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

其他文档和教程:
http://git-scm.com/documentation

不支持从现在开始仅保留当前版本。你最好的选择是
取而代之的是在修订控制中保留一个小的脚本,该脚本下载(或者构建或者生成)大的.jar文件。

由于这会修改历史记录,因此会使该存储库中的所有先前克隆或者提取无效。