將一個大的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分支的時候也省得刪除本地的了。