Какие символы являются незаконными в имени ветки?

Какие символы являются незаконными в имени ветки?

Ответ 1

Правила именования для refname:

Git устанавливает следующие правила именования ссылок:

  1. Они могут включать косую черту / для иерархической (директории) группировки, но ни один разделенный слешами компонент не может начинаться с точки . или конец последовательности .lock.

  2. Они должны содержать хотя бы один /. Это обеспечивает наличие категории, такой как heads/, tags/ и т.д., Но фактические имена не ограничены. Если используется параметр --allow-onelevel, это правило отменяется.

  3. У них не может быть двух последовательных точек .. нигде.

  4. Они не могут содержать управляющие символы ASCII (т.е. Байты, значения которых меньше \040 или \177 DEL), пробел, тильда ~, символ ^ или двоеточие : где угодно.

  5. У них не может быть знака вопроса ? , звездочка * или открытая скобка [ где угодно. Смотрите ниже параметр --refspec-pattern для исключения из этого правила.

  6. Они не могут начинаться или заканчиваться косой чертой / или содержать несколько последовательных слешей (см. --normalize ниже для исключения из этого правила)

  7. Они не могут заканчиваться точкой ..

  8. Они не могут содержать последовательность @{.

  9. Они не могут быть одним символом @.

  10. Они не могут содержать \.

Кроме того, дополнительное правило для имени ветки:

  1. Они не могут начинаться с тире -

Благодаря Jakub Narębski, страница руководства для git check-ref-format содержит больше деталей.