git - 如何在 Git 中分 ionic 目录但保留所有分支

标签 git git-filter-branch

我一直在关注这个问题的答案 Detach subdirectory into separate Git repository并且只在一个分支上的简单子(monad)目录取得了一些成功,但现在我面临着一个散落在多个分支上的子目录,所以一个简单的

git filter-branch --subdirectory-filter SUBDIRECTORY HEAD

不做这项工作。

我是否必须切换到每个分支并运行 filter-branch 命令,或者有什么东西可以在整个历史记录中进行空白更改?

最佳答案

命令末尾的 HEAD 指定要处理的 ref。您可以给它任意数量的其他命令,包括 --all 指定所有内容,--branches 仅指定分支,或 --remotes 来指定 Remote 。您可能必须在这些选项前加上 -- 以告诉 filter-branch 这些是 rev-list args。请注意,--all 将尝试显式处理标签,这可能不是您想要的。您可以使用 --branches --remotes 来指定所有非标签引用。您可能还想添加 --tag-name-filter cat 以重写指向重写提交的标签 - 您的原始命令将保持这些标签不变。

关于git - 如何在 Git 中分 ionic 目录但保留所有分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4319110/

相关文章:

git log --all 在过滤器分支内不起作用

git - 如何将 Mediawiki 安装从 Subversion (SVN) 迁移到 Git

linux - Windows 等效于此 gitk Linux 命令

java - GGTS 该项目未构建,因为其构建路径不完整

git - git-rev-list 的排序

git - 从 git 历史记录中删除已删除的文件

git - 如何在保留历史记录的同时将文件从一个 git 存储库移动到另一个

git - 如何在没有 Homebrew 的情况下更新 git 版本 2.32.0 (Apple Git-132)

git - 从 git 缓存中删除的文件不会反射(reflect)在远程存储库上

git - 将大型 Git 仓库重组为多个新仓库