在使用git filter-branch --subdirectory-filter之后,我如何仍然使用旧的repo并回收git空间?

时间:2018-03-14 04:04:44

标签: git git-subtree git-filter-branch git-rewrite-history

我使用git filter-branch将子文件夹拆分到新的存储库中,请参阅https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/https://stackoverflow.com/a/45983384/301513

我的问题是,根据文章中的步骤,我需要在新的仓库中创建一个新的仓库和git pull the-subdirectory-filter-result。但是有可能我仍然可以使用旧的repo并回收git空间,即使旧的.git只有那个子目录相关的元数据吗?如果可以,我不需要创建一个新的仓库,毕竟旧的仓库现在用得不多。

我在保罗在https://stackoverflow.com/a/359759/301513的回答中尝试了第5步,但它没有奏效。并且git gc不会为那些不相关的提交回收git历史记录。

1 个答案:

答案 0 :(得分:0)

您可以使用您不想要的历史记录和文件夹,然后将文件移动到根目录。这里Remove folder and its contents from git/GitHub's history是rm文件夹和文件的几个选项。