【发布时间】:2014-12-22 17:45:17
【问题描述】:
我的团队正准备迁移到 Git,我们想从一个小型存储库开始。 由于二进制文件和数百个版本分支,由 git-svn 创建的初始 Git 存储库大约 10GB。
清理大文件很容易,棘手的部分似乎是分支的数量。
对于 git 迁移,我们希望从某个时间点 (X) 开始只有某些(最新的)分支。 我们没有“主干”——而是在较长时间内维护的不同版本分支:
---- Version 1 ------------------------
\---------- Version 2--------------
\--------- Version 3----
我很容易发现如何从历史记录中清除大块(BFG,git filter-branch)。
我的问题:
我们如何才能删除除少数特定分支之外的所有分支从历史记录中,以便我们在新存储库中只有分支“版本 3”?理想情况下,我们希望历史记录从创建此分支的开始提交开始:
--------- Version 3----
有没有办法通过git filter-branch 或其他可能性来做到这一点?
【问题讨论】:
-
将整个仓库导入Git,然后把不感兴趣的分支扔掉。
-
扔掉的部分会很有趣 :D 我们怎样才能把它们扔掉并从回购历史中根除?
标签: git svn version-control git-rewrite-history