Фильтр удаленных веток в git - PullRequest
1 голос
/ 08 марта 2019

Мне бы хотелось, чтобы git branch -a показывал только подмножество удаленных ветвей, например, ветви, начинающиеся с префикса, например, origin / iliaskarim

Какой самый лучший способ сделать это?

Ответы [ 3 ]

4 голосов
/ 08 марта 2019

Если вы находитесь в контексте bash, просто передайте (|) к grep?

git branch -a | grep origin/iliaskarim

Тогда, если вы хотите и это подмножество удаленных ветвей и всех ваших локальных ветвей, возможно, рассмотрите просто команды цепочки?

git branch -a | grep origin/iliaskarim; git branch
1 голос
/ 08 марта 2019

Команда переднего конца git branch не имеет простого способа сделать это.

Однако, если вы используете префикс, подобный пространству имен, например, origin/iliaskarim/ (обратите внимание на косую черту) - git for-each-ref, которая является сантехнической командой, которая реализует git branch, действительно имеет хороший способ сделать это.В частности:

git for-each-ref refs/remotes/origin/iliaskarim

достаточно для итерации по этим именам и только по этим именам.Вам все равно придется соединить это с дополнительными командами и / или параметрами, чтобы получить эффект ограниченного git branch -a.

(Изменить: как примечания phd в комментарии , вы можететакже используйте сопоставление с шаблоном с явной звездочкой-глобусом: refs/remotes/origin/iliaskarim*, если здесь не используется разделитель слеша. Не забудьте защитить звезду от оболочки, если используете оболочку.)

Использование grep -v как канал для фильтрации имен, которые включают remotes/origin/, но не продолжают с iliaskarim, - это еще один вариант.(См. ответ RomainValeri ; идея здесь состоит в том, чтобы инвертировать тест, отбрасывая ветви, которые do соответствуют некоторому регулярному выражению. В результате получается подходящий RE, который зависит от того, какой синтаксис или синтаксис выраженияваш grep поддерживает, оставлен как упражнение. :-))

0 голосов
/ 09 марта 2019

git branch -r - список происхождения / iliaskarim *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...