我已经将几个项目从 Subversion 迁移到 git。它工作得非常好,但是当我克隆我的存储库时,它真的很长,因为我有很多 .jar 文件的所有历史记录包含在传输中。
有没有办法在我的主存储库中只保留某种类型文件的最新版本。我主要想删除二进制文件上的旧版本。
我已经将几个项目从 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 gc
并git pack
让 git 压缩您的存储库?