0%

Git拆分仓库

将功能复杂的版本库拆分为功能单一的版本库并保存所有相关提交信息

示例

比如, Project项目中存在Pro1和Pro2两个项目, 现在我们要将Pro1项目拆分到单独的版本库中进行维护, 并且要保留原有提交信息

文件路径如下

1
2
3
4
5
6
7
8
D:.
├─Project
│ └─Pro1
│ └─File1
│ └─File2
│ └─Pro2
│ └─File1
│ └─File2

命令

1
2
git subtree split -P <name-of-folder> -b <name-of-new-branch>
git subtree split -P Pro1 -b Project1

复制分支

在新路径保存分支

在合适位置新建文件夹后初始化Git, 然后拉去刚才新建的Project1分支即可
查看git log

1
2
3
4
git pull <path-of-Project> <name-of-new-branch>
git pull <path-of-Project> Project1

git log

在Pro1中初始化Git, 不更改原文件夹结构

1
2
3
4
5
6
7
# 在Pro1中执行
git init
git add .
git commit -m "提交信息"

git pull .. Project1
git log