在Git中导出子树历史(Export subtree in Git with history)

2019-09-16 02:56发布

我在我的Git仓库中的一个文件夹,我想在它自己的仓库搬走。 是否有可能以移动文件夹的历史与文件夹一起?

我以前一直在做只是一个git rm -r --cached subfolder/然后git init的子文件夹。 然而,历史将不会导入到新的存储库。

Answer 1:

从引用的示例git-filter-branch(1)

要重写库看起来好像foodir /一直是其项目的根,并放弃所有其他的历史:

git filter-branch --subdirectory-filter foodir -- --all

因此,你可以,例如,把一个库子目录到它自己的存储库。 请注意 - 用于分隔修订选项过滤器分支选项,以及--all重写所有分支和标签。



文章来源: Export subtree in Git with history