我有2個git分支:master和experimental。重命名遠程git分支
實驗變得很好,我想讓它成爲主人。我想我會重命名洗牌的東西,但這裏是我得到的:
nutebook:Stuff nathan$ git remote rename master old
error: Could not rename config section 'remote.master' to 'remote.old'
我使用GitHub和Git-Tower。
我有2個git分支:master和experimental。重命名遠程git分支
實驗變得很好,我想讓它成爲主人。我想我會重命名洗牌的東西,但這裏是我得到的:
nutebook:Stuff nathan$ git remote rename master old
error: Could not rename config section 'remote.master' to 'remote.old'
我使用GitHub和Git-Tower。
以下是重命名您的主分支的指南。它可以輕鬆地重命名實驗分支。
以下是我進行重命名的方法。
首先,在您的工作樹中,將本地重命名爲 其他。
git branch -m master old-dev
重命名一個分支做的工作,而你的分支,所以 沒有必要籤別的東西。
然後,在本地維護分支(2.63分支)重命名爲 主:
git branch -m 2.63-branch master
現在,時間與遠程混亂。萬一你搞砸了,你可能想要確保你有最新的備份。首先,刪除 遠程的主人:
git push origin :master
而現在,給遙控你的新主人:
git push origin master:refs/heads/master
更新:當創建一個新的分支,裁判/頭/前綴是 需要上遙遠的一面。如果分支已經存在(如上面的主機做 ),只需要遠程端的分支名稱。
...和你現在更名爲老師傅:
git push origin old-dev:refs/heads/old-dev
最後,刪除維護分支的舊名,以避免混亂 :
git push origin :2.63-branch
客戶現在將獲得「新的'主分支時,他們拉。
請參閱this網站。
master
是一個分支,而不是像origin
這樣的遠程是。如果你希望你的試點工作,你的主分支,只需將其合併在:
git checkout master
git merge experimental
你試圖做的是從「大師」重命名遠程回購,以「老」。要重新命名另一個回購中的分支,只需將其刪除即可
git push <remote> :<branch name>
然後將其推送爲其他內容。
我認爲最簡單的方法是籤實驗分支,刪除遠程主分支,然後推動本地的實驗作爲一個新的遠程主之一。
// delete the remote master branch by pushing null
// (the space in front of the semicolon) in this branch
git push origin :master
// push local experimental to remote master
git push origin experimental:master
如果您是Mac用戶,則可以使用GitHub Mac App(https://mac.github.com/)重命名分支。
要添加到這一點:當我想重新命名我的「高手」在github上,我首先要改變下的「設置」默認分支之前,它將讓我刪除它(即'混帳推產地:master'的)。 –
你能只在本地重命名分支,並將它推到遠程,然後刪除舊的? –
我覺得-u標誌來推動是好的,因爲它設置的新的遠程爲你,例如上游追蹤'git push -u origin master'(使用git 1.7我不需要完整的refs/head前綴) –