Какие части git имеют специальное / стандартное поведение для ветви с именем "master"? - PullRequest
0 голосов
/ 11 июня 2018

Учитывая, что нет широкого соглашения в отношении семантики master, мы рассматриваем отсутствие ветки с именем master на нашем сервере origin.

Каковы последствия этого с точки зрения значений по умолчанию, встроенных в стандартный git клиент командной строки?Как он обрабатывает ветку с именем master в отличие от других веток - как локальных, так и удаленных?

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Из моего обзора кодовой базы и моего опыта работы с репозиториями, у которых нет ветки master, я бы сказал, что вы в чистом виде.

В худшем случае это параВ крайних случаях, когда неявное явление вызовет сбой команды вместо возврата к ветви master.


  • git clone устанавливает ветку master по умолчанию, когда нет удаленных ссылокнайдены и флаг --bare не был указан ( builtin / clone.c )
  • git fast export с флагом --anonymize оставляет master в одиночку, так как это-известно по умолчанию и ничего не сообщает ( встроенный / fast-export.c )
  • сообщения фиксации слияния настраиваются в зависимости от целевой ветви (т. е. "Merge branchx" против"Объединить ветвь с ветвью") ( builtin / fmt-merge-msg.c )
  • git init использует master в качестве имени ветви по умолчанию ( builtin / init-db.c )
  • git submodule по умолчанию master, если имя ветви не указано ( встроенный / подмодуль - helper.c )

(выходные данные git-remote.c и files-backend.c снизу фактически не взаимодействуют с веткой master)


Приведенный выше список был составлен с использованием следующих git grep на git репозиторий .

# Look for string literals within *.c files containing "master" 
# with 10 lines of context, excluding the t/ and contrib/ directories
$ git grep -C 10 -E -e \".*master.*\" -- :**/*.c :^t/ :^contrib/
0 голосов
/ 11 июня 2018

master используется по умолчанию в некоторых местах.

  • Первая ветвь в пустом репозитории выполняется в master ветке.
  • Объединять сообщения фиксации либо- это «Объединить ветвь x» или «Объединить ветвь x в y», когда y! = master

Но, помимо этого, ветка с именем master на самом деле не нужна.

...