Как установить разветвление ветвей как дефолт в Github вместо мастера?

Я знаю, что это можно сделать на странице администратора репозитория. Там может быть установлена ​​другая ветвь по умолчанию. И это будет ответ на этот вопрос.

Но я обнаружил (может быть, ошибку?) следующее. Если ваша ветвь мастера и ветвь разработки точно совпадают, чем клон git не будет клонировать дефолтную "разветвленную" ветвь, но все же "мастер"!! Если вы передадите что-то в ветку разработки, удалите клон и снова клон, вы получите ветку разработки.

Это поведение git или Github? И можно ли это зафиксировать, чтобы установить его ВСЕГДА развивать?

Ответ 1

Это функция git "

Я только что протестировал его с локальным репо, а HEAD моего первого репо test - "develop":

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

... имя ветки по умолчанию, клонированное в test1, равно master!

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

См. " Как изменить git remote HEAD, чтобы указать на что-то, кроме" master "":
С точки зрения клонированного репо HEAD на удаленном источнике репо ссылается как на master, так и на develop:

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

И порядок определения ветки по умолчанию клонированного репо:

  • HEAD ссылки refs/heads/master и что существует → вы получаете локальную ветвь с именем master, начиная с origin/master
  • HEAD ссылки refs/heads/anotherBranch и что существует → вы получаете локальную ветку с именем anotherBranch, начиная с origin/anotherBranch