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