我们正在进行svn来进行git迁移。我们在SVN中有大约5个大二进制文件(每个大约700MB)。所以只删除了那些文件并迁移到GitHub。现在git源代码的大小只有较少。但是git对象包大于8GB。我认为因为这些二进制文件的修订。我可以删除这些特定的修订历史记录吗?或者无论如何其他方式是清理?我们需要剩余文件的历史记录。
答案 0 :(得分:2)
运行以下命令,将FILE-TO-BE-REMOVED替换为要删除的文件的路径,而不仅仅是文件名。这些论点将:
git filter-branch --force --index-filter'git rm --cached --ignore-unmatch FILE-TO-BE-REMOVED' - proune-empty --tag-name-filter cat - - -all
如果您对存储库的状态感到满意,请强制推送您的本地更改以覆盖您的GitHub存储库,以及您推送的所有分支:
git push origin --force --all