在Git中输出具有历史logging的子树

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

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

git-filter-branch(1)引用一个例子,

重写库看起来好像foodir /已经成为它的项目根源,并放弃所有其他的历史:

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

因此,您可以将库子目录变成自己的存储库。 请注意 – 将过滤分支选项与修订选项分开,并且 – 将所有分支和标记重写。