Каков формат <pattern> в git-branch --list

Как заголовок, я прочитал руководство, но напрасно.

Я обнаружил, что * может соответствовать шаблону с подстановочными знаками.

git branch --list 'issues*6'
 issues/586
 issues/616

Тем не менее, он найден мной, а не упомянут на странице руководства.

Интересно, каков настоящий формат <pattern>.

Ответы

Ответ 1

Цитирую с той же страницы руководства, на которую вы ссылались:

Если --list или нет аргументов, не являющихся опциями, будут перечислены существующие ветки; текущая ветка будет выделена звездочкой. Опция -r ветки удаленного отслеживания, а опция -a показывает как локальные, так и удаленные ветки. Если задан <pattern>, он используется в качестве подстановочного знака оболочки, чтобы ограничить вывод соответствующими ветвями. Если задано несколько шаблонов, отображается ветвь, если она соответствует любому из шаблонов. Обратите внимание, что при предоставлении <pattern> вы должны использовать --list; в противном случае команда интерпретируется как создание ветки.

Таким образом, ответ, по крайней мере, согласно документации, заключается в том, что "он используется в качестве подстановочного знака оболочки". Это, конечно, предполагает, что вы знаете, что означает фраза "подстановочный знак оболочки", и, что более важно, это неправильно, поскольку прямой подстановочный знак оболочки не будет совпадать через /.

В документации должно быть что-то вроде: "Шаблон действует так же, как шаблон подстановочного знака/глобуса оболочки, за исключением того, что косые черты не обрабатываются специально, так что a*b соответствует и accb и ac/cb, а a[bc/]* соответствует всем из a/d, abcd, ac/cb и accb. "

Примеры:

$ git branch -a
  a/d
  abcd
  ac/cb
  accb
* master
$ git branch --list 'a*b'
  ac/cb
  accb
$ git branch --list 'a[bc/]*'
  a/d
  abcd
  ac/cb
  accb
$