本地端BRANCH名稱修改
本地端BRANCH名稱修改很簡單
單純改名而已:
git branch -m 舊的branch名 新的branch名
例如:
我把develop這個branch改成master
git branch -m develop master
遠端BRANCH名稱修改
遠端沒有直接修改的指令,使用[1]的建議的建議會得到錯誤:
[root@seed50 ci4]# git push origin --delete develop
...
remote: GitLab: The default branch of a project cannot be deleted.
To http://example.com/user/my_repository.git
! [remote rejected] develop (pre-receive hook declined)
error: failed to push some refs to 'http://example.com/user/my_repository.git'
...
remote: GitLab: The default branch of a project cannot be deleted.
To http://example.com/user/my_repository.git
! [remote rejected] develop (pre-receive hook declined)
error: failed to push some refs to 'http://example.com/user/my_repository.git'
原來上面少了一個重要的步驟,就是遠端沒有改名的功能,你需要有另一個新的branch,並把主要的brnach移過去才能刪除:
一、把你的新branch傳上gitlab
git push origin HEAD:master
上面的master是本地端改完名後的new branch name,不是新建的,所以本地端要先改好名。
二、修改預設branch
到gitlab頁面,進到你的專案
左邊選單 [Settings]->[Repository]
修改Default branch 為新的並儲存,如果沒有出現新的,表示你上一個步驟沒做
三、刪除舊的branch
接下來可以用指令操作,在你的本地端下指令:
[root@seed50 ci4]# git push origin --delete develop
...
To http://example.com/user/my_repository.git
- [deleted] develop
...
To http://example.com/user/my_repository.git
- [deleted] develop
或在 gitlab上操作:
左邊選單 [Code]->[Branches]
找到develop這個按三個點刪掉他,如果沒出現這三個點,代表你上面二個步驟沒完成。
以上
參考資料
[1] https://www.ionos.com/digitalguide/websites/web-development/renaming-a-git-branch/
[2] https://docs.gitlab.com/ee/user/project/repository/branches/