3 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
一年前GitHub上幾乎有同樣的問(wèn)題。
我的想法是重命名主分支:
git branch -m master developmentgit branch -m published mastergit push -f origin master
讓主人擁有你想讓人們使用的東西,并在分支機(jī)構(gòu)中完成所有其他工作。
(a“ git-symbolic-ref HEAD refs/head/published
”不會(huì)傳播到遠(yuǎn)程倉(cāng)庫(kù))
這類似于“ 如何在Git中刪除origin / master ”。
正如在這篇帖子中所說(shuō):(強(qiáng)調(diào)我的)
“
git clone
”只創(chuàng)建一個(gè)本地分支。
為此,它查看HEAD ref
遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容,并創(chuàng)建一個(gè)與其引用的遠(yuǎn)程分支同名的本地分支。所以要包裝它,你有repo A并克隆它:
HEAD
引用refs/heads/master
和存在
- >從origin / master開(kāi)始,您將獲得一個(gè)名為master的本地分支HEAD引用
refs/heads/anotherBranch
和存在
- >從一anotherBranch
開(kāi)始就調(diào)用一個(gè)本地分支origin/anotherBranch
HEAD引用
refs/heads/master
并且不存在
- >“git clone”抱怨不確定是否有任何方法可以直接修改
HEAD
回購(gòu)中的ref。
(這是你問(wèn)題的全部要點(diǎn),我知道;))
也許唯一的方法就是“為窮人出版”,你可以:
$ git-symbolic-ref HEAD refs/head/published $ git-update-server-info $ rsync -az .git/* server:/local_path_to/git/myRepo.git/
但這將涉及對(duì)服務(wù)器的寫(xiě)訪問(wèn),這并不總是可行的。
正如我在“ Git:在一個(gè)裸存儲(chǔ)庫(kù)中更改Active Branch的正確方法? ”中解釋的那樣,git remote set-head
不會(huì)改變遠(yuǎn)程倉(cāng)庫(kù)上的任何內(nèi)容。
它只會(huì)更改本地倉(cāng)庫(kù)中本地存儲(chǔ)的遠(yuǎn)程跟蹤分支remotes/<name>/HEAD
。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
這僅適用于存儲(chǔ)庫(kù)的本地副本(“客戶端”)。請(qǐng)?jiān)谙旅娌榭雌渌说脑u(píng)論。
使用最新版本的git(2014年2月),正確的程序?qū)⑹牵?/p>
git remote set-head $REMOTE_NAME $BRANCH
因此,例如,將遠(yuǎn)程頭部切換origin
到分支develop
將是:
git remote set-head origin develop

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
既然你提到GitHub,要在他們的網(wǎng)站上進(jìn)行,只需進(jìn)入你的項(xiàng)目,然后......
admin > Default Branch > (choose something)
完成。
- 3 回答
- 0 關(guān)注
- 6184 瀏覽
添加回答
舉報(bào)