有没有一种方法可以从git的历史记录中清除某些文件?

6
我已经将几个项目从Subversion迁移到git。这很好用,但当我克隆我的存储库时,需要花费很长时间,因为它包括许多.jar文件的全部历史记录。
有没有办法只保留某些类型文件的最新版本在我的主存储库中?我主要想删除旧版本的二进制文件。
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文件。

由于这会修改历史记录,因此所有先前从该存储库克隆或拉取的内容都将无效。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接