2008-09-18 88 views
6

我已经将几个项目从Subversion迁移到git。它工作得很好,但是当我克隆我的存储库时,它非常长,因为我拥有包含在传输中的大量.jar文件的所有历史记录。有没有办法从git的历史中清除一些文件?

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

回答

5

你可以删除旧版本或者用 “git的变基” -i或 “git的过滤分支”

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

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

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

饲养从现在开始只有当前版本不受支持。你最好的选择是 而不是修改控制一个小脚本,下载(或生成或以其他方式生成)大型.jar文件。

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

1

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

相关问题