将git中的目录拆分到新的存储库

时间:2016-06-15 15:02:30

标签: git repository git-remote git-filter-branch

我不知道我的方法是否正确,但我得到了我想要的结果。 你能帮我解决一下吗?

我有一个存储库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个项目完成的。包含所有项目的剩余仓库将来未使用,可能会留作备份。

0 个答案:

没有答案