是否可以删除GitHub中已删除文件的修订历史记录

时间:2018-03-31 10:04:37

标签: git github

我们正在进行svn来进行git迁移。我们在SVN中有大约5个大二进制文件(每个大约700MB)。所以只删除了那些文件并迁移到GitHub。现在git源代码的大小只有较少。但是git对象包大于8GB。我认为因为这些二进制文件的修订。我可以删除这些特定的修订历史记录吗?或者无论如何其他方式是清理?我们需要剩余文件的历史记录。

1 个答案:

答案 0 :(得分:2)

运行以下命令,将FILE-TO-BE-REMOVED替换为要删除的文件的路径,而不仅仅是文件名。这些论点将:

  • 强制Git处理每个分支和标记的整个历史记录
  • 删除指定的文件,以及由此生成的任何空提交
  • 覆盖现有代码
  

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