Ответы:
Правила именования для refname:
Git устанавливает следующие правила именования ссылок:
Они могут включать косую черту
/для иерархической (каталоговой) группировки, но ни один разделенный слешами компонент не может начинаться с точки.или заканчиваться последовательностью.lock.Они должны содержать хотя бы один
/. Это обеспечивает наличие такой категории, какheads/иtags/т. Д., Но фактические имена не ограничены. Если--allow-onelevelопция используется, это правило отменяется.У них не может быть двух последовательных точек
...Они не могут иметь управляющие символы ASCII (т. Е. Байты, значения которых меньше
\040или\177DEL), пробел, тильда~, каретку^или двоеточие:.Они не могут иметь знак вопроса
?, звездочку*или открытую скобку[. Смотрите--refspec-patternопцию ниже для исключения из этого правила.Они не могут начинаться или заканчиваться косой чертой
/или содержать несколько последовательных косых черт (--normalizeисключение из этого правила см. Ниже)Они не могут заканчиваться точкой
..Они не могут содержать последовательность
@{.Они не могут быть одним персонажем
@.Они не могут содержать
\.
Кроме того, дополнительное правило для имени филиала:
- Они не могут начинаться с тире
-
Благодаря Jakub Narębski , на странице man для git check-ref-formatболее подробной информации.
/». Пожалуйста, объясни? Ни одна из моих веток не имеет /в названии.
/уже heads/предваряется к нему «автоматически». На самом деле: без /, пока не ясно, ветка ли это, или тег, или что-то еще ...