将一个大的GitLab项目中某个分支拆分为独立的项目,我的思路是
1.复制整个项目
GitLab的Fork可以快速copy出一个项目
2.删除其余不用的分支
先使用“Delete merged branches”功能清理一批分支,当然前提是你要保留的分支没有merge过master,别把要保留的分支删了
3.将项目clone到本地
切换到要保留的目标分支上, 以下操作都是在当前分支上进行
4.删除master分支,包括远端的
master分支一般为默认分支无法删除,所以要先修改默认分支
登录GitLab,进入到项目,在菜单:Settings -> Repository -> Default Branch 修改默认分支
#删除本地master
git branch -D -f master
#将删除操作推送到远端
git push git@xxx:group/xxx.git --delete master
5.修改目标分支为master,并将master推送到远端
#重命名当前分支为master
git branch -m master
#将master分支推送到远端
git push git@xxx:group/xxx.git master
6.再在GitLab上将项目的默认分支修改回master
第4步的修改默认分支可以先第3步执行,这样clone的下来直接就是目标分支,删除master分支的时候也省得删除本地的了。