拆分git存储库

icc*_*cco 4 git

我目前有一个git存储库,我刚从svn导入名字学校.在这个学校知识库里面,我有一个每个课程的文件夹.

我似乎无法如何使用这个存储库并将其拆分为每个类的存储库而不会丢失该类的整个历史记录,我不希望这样做.

建议?

ric*_*chq 6

git filter-branch是要走的路.为每个子目录制作一份repo的副本,然后在每个副本中运行一行,将"myclassname"替换为您的实际类名:

git filter-branch --subdirectory-filter myclassname -- --all
Run Code Online (Sandbox Code Playgroud)

Github帮助页面提供了对该过程的更详细描述.

  • 这非常有效,谢谢.我把它变成了一个shell脚本,你可以在这里看到:http://github.com/icco/git-explode (2认同)
  • 标志是--prune-empty - 它没有使用subdir过滤器打开. (2认同)