6

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

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

4

2 回答 2

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 文件的小脚本。

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

于 2008-09-18T21:25:30.540 回答
1

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

于 2008-09-18T20:57:29.373 回答