我正在使用以下来源从我的存储库中删除一些大型文件和目录:
http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/
git filter-branch 似乎只能在当前分支上工作 - 是否有办法立即将其应用于所有分支?
我需要将我的git repo分成两部分.我使用了这里显示的步骤:Detach(move)子目录到单独的Git存储库中
我使用的命令是:
git filter-branch --subdirectory-filter ABC HEAD -- --all
Run Code Online (Sandbox Code Playgroud)
这似乎很好,并留下了ABC作为根.
但是现在,如果我尝试检查在拆分回购之前存在的标记:
git checkout an-old-tagname
Run Code Online (Sandbox Code Playgroud)
它正在重新创建旧的目录结构 - 所以重新创建ABC作为子目录,以及XYZ1和XYZ2.
我知道回购真正看到了那个时间点 - 但我希望标签只引用ABC位,好像它们当时已经在根部.我认为这是filter-branch在重写历史时所做的事情,但显然我并没有正确地理解它.
如何重新编写标签,以便我可以回到过去,同时仍然将ABC作为回购的根源?