亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為本地和遠程Git存儲庫重命名master分支

為本地和遠程Git存儲庫重命名master分支

Git
慕妹3242003 2019-08-23 10:55:33
為本地和遠程Git存儲庫重命名master分支我有master跟蹤遠程分支的分支origin/master。我想將它們重命名為master-old本地和遠程。那可能嗎?對于跟蹤的其他用戶origin/master(以及經常更新其本地master分支的用戶git pull),重命名遠程分支后會發生什么?他們git pull仍然會工作還是會拋出一個它再也找不到的錯誤origin/master?然后,繼續,我想創建一個新的master分支(本地和遠程)。再說一遍,在我這樣做之后,如果其他用戶這樣做會發生什么git pull呢?我想這一切都會帶來很多麻煩。是否有一種干凈的方式來獲得我想要的東西?或者我應該保持master原樣,并創建一個新的分支,master-new然后繼續在那里工作?
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

最接近重命名的是刪除然后在遙控器上重新創建。例如:


git branch -m master master-old

git push remote :master         # delete master

git push remote master-old      # create master-old on remote


git checkout -b master some-ref # create a new local master

git push remote master          # create master on remote

然而,這有很多警告。首先,沒有現成的檢出會了解重命名-蹦也不會嘗試跟蹤分支重命名。如果新的master還不存在,git pull將會出錯。如果master已創建新的。拉動將嘗試合并master和master-old。所以這通常是一個壞主意,除非你得到了之前檢查過存儲庫的每個人的合作。


注意:默認情況下,較新版本的git不允許您遠程刪除主分支。您可以通過將receive.denyDeleteCurrent配置值設置為遠程存儲庫warn或ignore在遠程存儲庫上來覆蓋它。否則,如果您已準備好立即創建新主服務器,請跳過該git push remote :master步驟,然后--force轉到該git push remote master步驟。請注意,如果您無法更改遙控器的配置,則無法完全刪除主分支!


此警告僅適用于當前分支(通常是master分支); 任何其他分支都可以刪除并重新創建,如上所述。


查看完整回答
反對 回復 2019-08-23
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

假設您目前在master

git push origin master:master-old        # 1
git branch master-old origin/master-old  # 2
git reset --hard $new_master_commit      # 3
git push -f origin                       # 4
  1. 首先根據本地存儲庫中的提交在存儲庫中創建一個master-old分支。originmaster

  2. 為這個新origin/master-old分支創建一個新的本地分支(它將自動正確設置為跟蹤分支)。

  3. 現在將您的本地指向您master希望它指向的任何提交。

  4. 最后,masterorigin存儲庫中強制更改以反映您的新本地master。

(如果您以任何其他方式執行此操作,則至少需要再執行一個步驟以確保master-old正確設置以跟蹤origin/master-old。在撰寫本文時,其他任何解決方案都不包括此內容。)


查看完整回答
反對 回復 2019-08-23
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

使用Git v1.7,我認為這已經略有改變?,F在,更新本地分支對新遠程的跟蹤引用非常簡單。


git branch -m old_branch new_branch         # Rename branch locally    

git push origin :old_branch                 # Delete the old branch    

git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 1197 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號