有很多关于如何将大型git存储库(LargeRepo)拆分为较小的存储库(SmallRepoA,SmallRepoB)并保留提交的教程。我希望这样做的另外要求是每个SmallRepo只继承那些与SmallRepo 中的文件相关的分支和分支提交。
对于每个SmallRepo:
实际上,我正在尝试将最终结果发送给micmic,如果我开始使用单个SmallRepos,那么世界会是什么样子。
以下是一个例子:
让我们说LargeRepo看起来像这样:
LargeRepo
|---- Folder1
|---- Folder2
|---- Folder3
我想分成三个SmallRepos,每个高级文件夹一个。
Folder1
Folder2
Folder3
让我们说LargeRepo有Branch1和Branch23。 Branch1对Folder1中的文件进行了更改,Branch23对Folder2和Folder3中的文件进行了更改。
分支视图如下所示:
Folder1
|----> Branch1 (all commits)
Folder2
|-----> Branch23 (only commits affecting files in Folder2)
Folder3
|------> Branch23 (only commits affecting files in Folder3)
理想情况下,解决方案可以在Windows上使用git命令行实现,而不涉及BASH。
答案 0 :(得分:1)
这种拆分回购的一般解决方案也适用于取消范围分支: https://stackoverflow.com/a/17864475/356790
由于某种原因,它不适用于我在本地创建的repo,但是对于我从GitHub克隆的repo工作正常。