1

我有一个存储库,它在根目录下包含多个目录,例如

gitroot/a
gitroot/b
gitroot/c

我想仅从 a 的内容创建一个新的 git 存储库,同时保留其历史记录。这可能吗?我已经看到了稀疏的结帐,但我不确定如何使用它从子目录创建一个全新的存储库(具有相关历史记录)。

4

1 回答 1

2

克隆现有存储库后,您可以使用filter-branch

git filter-branch --subdirectory-filter a -- --all

之后;

git clean -d -f  // Remove untracked files from the working tree
git gc --aggressive // Cleanup unnecessary files and optimize the local repository
git prune  // Prune all unreachable objects from the object database
于 2012-10-19T14:08:49.797 回答