我不知道我的方法是否正确,但我得到了我想要的结果。 你能帮我解决一下吗?
我有一个存储库abbr repo,包含3个解决方案。
在:
Root
|_Project1
|_Project2
|_Project3
后:
Root
|_Project1
等等。
我的方法:
git clone <url-to-old-repo> <new-repo-folder>
cd <new-repo-folder>
git checkout <branch>
git remote rm origin
git filter-branch \
--prune-empty \
--index-filter '
git rm --cached -qr --ignore-unmatch -- . && git reset -q $GIT_COMMIT -- \
<project-folder>
' \
-- \
--all
git remote add origin <url-to-new-repo>
git push -u origin <branch>
在完成所有这些命令后,我最终得到了一个包含我想要的文件夹的新回购,并保留了历史记录。这是通过所有3个项目完成的。包含所有项目的剩余仓库将来未使用,可能会留作备份。