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

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

Git:在裸倉庫中更改Active Branch的正確方法嗎?

Git:在裸倉庫中更改Active Branch的正確方法嗎?

Git
幕布斯6054654 2019-11-05 15:50:42
我有一個裸倉庫,用作我的項目的中央存儲。所有開發人員都git clone <repo>愿意與它分享。當他們進行克隆時,他們會git clone -n因為repo.git/HEAD包含而將master分支檢出(除非這樣做)ref: refs/heads/master,從而使之成為Active Branch。問題是,如何正確更改活動分支?我可以repo.git/HEAD直接直接破解文件,但這看起來很討厭,而且很hacky。我嘗試git checkout <otherbranch>在repo .git目錄中執行此操作,但是失敗了,因為我不在工作樹中。我嘗試過,git update-ref HEAD refs/heads/otherbranch但是只是將refs / heads / master更新為與refs / heads / otherbranch相同(好吧,我在虛擬存儲庫中做了一個,而不是我的生產倉庫?。┪覈L試了git update-ref --no-deref HEAD refs/heads/otherbranch,幾乎成功了。它更新了HEAD文件,但將其設置為指向的提交的SHA1 refs/heads/otherbranch。我正在使用git version進行測試1.7.0.2.msysgit.0。我猜測沒有辦法做到這一點git push,因為允許所有人和其他人更改您的默認分支似乎有些不安全(?。?,但是肯定有.git比直接修改HEAD文件更好的方法在repo 目錄中。
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

如果您有權訪問遠程裸倉庫,則本文建議您:


git symbolic-ref HEAD refs/heads/mybranch

它將更新存儲庫中的HEAD文件,使其包含:


ref: refs/heads/mybranch

如在 git-symbolic-ref


如果您無權訪問遠程倉庫,請參閱我以前的回答。


記住這樣的命令git remote set-head:


不會更改遠程倉庫的默認分支。

它僅將存儲在本地存儲庫中的遠程跟蹤分支更改為refs/remotes/<name>/HEAD


不會自行更改HEAD(再次refs/remotes/<name>/HEAD),因此需要 git symbolic-ref。


所以這里git remote set-head 不是答案。

git symbolic-ref HEAD是,如果您可以直接訪問遠程倉庫。


查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 1224 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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