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

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

有帮助吗?

解决方案

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top