我有一個裸倉庫,用作我的項目的中央存儲。所有開發人員都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 目錄中。
Git:在裸倉庫中更改Active Branch的正確方法嗎?
幕布斯6054654
2019-11-05 15:50:42