我发现了几个使用filter-branch和subtree的简单示例,但它们总是只能移动1个目录。我想要处理以下仓库:
/
Project1.sln
Project2.sln
Source/
CommonLib.Data/
CommonLib.Web/
Project1.Data/
Project1.Web/
Project1.Other/
Project2.Data/
Project2.Web/
将事物移动到自己的存储库中,采用以下结构:
# CommonRepo
/
CommonLib.Data/
CommonLib.Web/
# Project1Repo
/
Project1.sln
Project1.Data/
Project1.Web/
Project1.Other/
# Project2Repo
/
Project2.sln
Project2.Data/
Project2.Web/
在保留整个历史记录的同时,我们需要注意的是,原始库的每个项目对应着一个或多个分支,因此其他项目所引用的CommonLib版本可能会有所不同。
我想使用git subtree add命令将对每个新库正确标记/修订版本的CommonLib添加到其引用中,但首先,我需要一种方式将几个目录同时拆分到它们自己的位置。
看起来git subtree split -P只能拆分一个目录,而我也无法使用filter-branch获取多个目录。我在Windows平台上操作,因此无法设置所有脚本功能以使操作更加简单。
有什么建议吗?