SourceTree 中的提交太多,如何删除它们?

Too many commits in SourceTree, how to remove them?

我一直在用Source Tree做版本管理,也在备份。 它以我不再需要的许多次要提交结束。 我怎样才能删除它们?

如果您只是想减少历史记录中次要提交的数量,请对它们进行变基。这不会节省磁盘 space 因为提交仍然保留在隐藏的历史记录中。

如果您这样做是为了尝试减少磁盘 space,Atlassian 的 "How to handle big repositories with Git" 建议采用以下方法。

  1. 使用浅克隆创建仅包含最近历史记录的存储库。 (备份旧的存储库并将其放在安全的地方,以便在需要时仍然可以使用旧的历史记录。)

  2. 使用filter-branch改写历史。这会更改所有提交 ID,因此需要重新克隆存储库的任何现有克隆。

  3. 如果您在 repo 中有大量二进制资产,那么您可以使用 Git LFS 或稀疏结帐。