有没有办法从git的历史中清除一些文件?

时间:2008-09-18 20:54:00

标签: git version-control

我已将一些项目从Subversion迁移到git。它工作得非常好但是当我克隆我的存储库时,它真的很长,因为我已经包含了很多.jar文件的所有历史记录。

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

2 个答案:

答案 0 :(得分:5)

您可以使用“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文件的小脚本。

由于这会修改历史记录,因此会使此存储库中以前的所有克隆或拉动无效。

答案 1 :(得分:1)

简而言之,这将涉及重写整个git提交树以排除文件。 您是否尝试过使用git gcgit pack让git压缩您的存储库?