恐怕我找不到像这种特殊情况的东西。如何从git存储库中删除旧的历史记录?
我有一个有很多历史的git仓库:500多个分支,500多个标签,回到2007年中期。它包含约19,500次提交。我们希望在2010年1月1日之前删除所有历史记录,以使它更小并且更容易处理(我们会在归档存储库中保存完整的历史记录副本)。
我知道我希望成为新存储库根目录的提交。然而,我不能找出正确的git mojo来截断回购从那个提交开始。我猜
的一些变种git filter-branch
涉及移植物将是必要的;可能还需要对待我们要分开保存的200多个分支中的每一个,然后将回购补丁一起回收(我需要知道如何执行)。
有没有人做过这样的事情?如果有问题,我已经得到了git 1.7.2.3。
如今,它似乎是“git的过滤分支 - --all” ... – aanno 2012-12-18 15:01:55
好,营造出“的.git /信息/移植文件和过滤器分支后,我仍然需要一个” git的克隆 - - 没有本地 - 无硬链接“的副本(在此之前制作所有本地跟踪分支)。简单地删除'.git/info/grafts'并不能解决问题! – aanno 2012-12-18 16:18:51
你可能想,当你想缩小到交叉检查http://stackoverflow.com/questions/7654822/remove-refs-original-heads-master-from-git-repo-after-filter-branch-tree-filte您的存储库大小。 – aanno 2012-12-20 08:08:09