我目前有一个git存储库,我从svn前一个名称学校导入。在这个学校仓库里,我有一个文件夹供我的每个课程使用。拆分git存储库
我似乎无法看到如何将这个存储库分割成每个类的存储库而不会丢失整个类的历史记录,我不希望这样做。
建议?
我目前有一个git存储库,我从svn前一个名称学校导入。在这个学校仓库里,我有一个文件夹供我的每个课程使用。拆分git存储库
我似乎无法看到如何将这个存储库分割成每个类的存储库而不会丢失整个类的历史记录,我不希望这样做。
建议?
git filter-branch
是要走的路。使回购的副本每个子目录,然后在每个副本上运行这样一行替换“myclassname”与您实际的类名:
git filter-branch --subdirectory-filter myclassname -- --all
运行以下命令
git log -u <path>
这会给你的变更(包括差异)在指定的文件夹中每个变更的列表。
从这里开始,您可以编写一个脚本来解析git log的输出,并在新的存储库上运行每个补丁,保留更改集和作者信息。
一点点黑客,但它会工作。
有一定是这样做比一个更好的方式。我有五年的承诺... – icco 2009-10-12 04:38:47
这工作非常美丽谢谢。我把它变成了一个shell脚本,你可以在这里看到:http://github.com/icco/git-explode – icco 2009-10-12 05:31:51
不错的一个,很高兴我帮助:-) – richq 2009-10-12 14:03:28
它拼写为“单独”。 – 2009-10-13 07:03:05