How to set develop branch as default in Github instead of master?

匿名 (未验证) 提交于 2019-12-03 08:44:33

问题:

I know this can be done on the Admin page of a repository. Another default branch can be set there. And that would be the answer of this question.

But I discovered (maybe a bug?) the following. If your master branch and develop branch are exactly the same, than a git clone will not clone the default "develop" branch, but still "master"!! If you commit something to the develop branch, remove your clone and than clone again, you will get the develop branch!

Is this Git behaviour or Github? And can this be fixed to set it ALWAYS to develop?

回答1:

This is a git "feature"

I just tested it with local repo, and while the HEAD of my first repo test is "develop":

C:\Users\VonC\Documents\GitHub\test>git symbolic-ref HEAD refs/heads/develop

... the name of the default branch cloned in test1 is master!

C:\Users\VonC\Documents\GitHub\test1>git branch -a * master   remotes/origin/HEAD -> origin/master   remotes/origin/develop   remotes/origin/master

See "How do I change a Git remote HEAD to point to something besides “master":
From the cloned repo perspective, HEAD on the remote origin repo references both master and develop:

C:\Users\VonC\Documents\GitHub\test1>git ls-remote origin c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        HEAD c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        refs/heads/develop c215dd28ea8bf9b0c6b522c784b70bbbb3e858a5        refs/heads/master

And the order for determining the default branch of a cloned repo is:

  • HEAD references refs/heads/master and that exists -> you get a local branch called master, starting from origin/master
  • HEAD references refs/heads/anotherBranch and that exists -> you get a local branch called anotherBranch, starting from origin/anotherBranch


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!