3 回答
TA贡献2051条经验 获得超10个赞
我的想法是重命名主分支:
git branch -m master developmentgit branch -m published mastergit push -f origin master
让主人拥有你想让人们使用的东西,并在分支机构中完成所有其他工作。
(a“ git-symbolic-ref HEAD refs/head/published
”不会传播到远程仓库)
这类似于“ 如何在Git中删除origin / master ”。
正如在这篇帖子中所说:(强调我的)
“
git clone
”只创建一个本地分支。
为此,它查看HEAD ref
远程仓库的内容,并创建一个与其引用的远程分支同名的本地分支。所以要包装它,你有repo A并克隆它:
HEAD
引用refs/heads/master
和存在
- >从origin / master开始,您将获得一个名为master的本地分支HEAD引用
refs/heads/anotherBranch
和存在
- >从一anotherBranch
开始就调用一个本地分支origin/anotherBranch
HEAD引用
refs/heads/master
并且不存在
- >“git clone”抱怨不确定是否有任何方法可以直接修改
HEAD
回购中的ref。
(这是你问题的全部要点,我知道;))
也许唯一的方法就是“为穷人出版”,你可以:
$ git-symbolic-ref HEAD refs/head/published $ git-update-server-info $ rsync -az .git/* server:/local_path_to/git/myRepo.git/
但这将涉及对服务器的写访问,这并不总是可行的。
正如我在“ Git:在一个裸存储库中更改Active Branch的正确方法? ”中解释的那样,git remote set-head
不会改变远程仓库上的任何内容。
它只会更改本地仓库中本地存储的远程跟踪分支remotes/<name>/HEAD
。
TA贡献1836条经验 获得超13个赞
这仅适用于存储库的本地副本(“客户端”)。请在下面查看其他人的评论。
使用最新版本的git(2014年2月),正确的程序将是:
git remote set-head $REMOTE_NAME $BRANCH
因此,例如,将远程头部切换origin
到分支develop
将是:
git remote set-head origin develop
TA贡献1872条经验 获得超3个赞
既然你提到GitHub,要在他们的网站上进行,只需进入你的项目,然后......
admin > Default Branch > (choose something)
完成。
- 3 回答
- 0 关注
- 6083 浏览
添加回答
举报