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