相关疑难解决方法(0)

为什么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作为回购的根源?

git git-filter-branch

9
推荐指数
1
解决办法
4103
查看次数

标签 统计

git ×1

git-filter-branch ×1