[Gitlab] 本地端和遠端,如何修改branch名稱?

URL Link //n.sfs.tw/16441

2024-08-20 04:03:42 By 張○○

本地端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'

原來上面少了一個重要的步驟,就是遠端沒有改名的功能,你需要有另一個新的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

 

或在 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/