Скажите gitk игнорировать все ветки, соответствующие шаблону

Предположим, у меня есть ветки с именами, начинающимися с inactive-. Как следует из их названий, эти ветви неактивны; Я храню для архивных целей.

Я хочу сказать gitk игнорировать эти ветки, даже если я также передам ему флаг --all. Есть ли способ сделать это?

В качестве альтернативы, есть ли другой удобный способ сообщить gitk о включении всех ветвей, кроме тех, чье имя соответствует inactive-*?


P.S. я пытался

gitk --branches='!inactive-*'

... и их варианты, но ни один из них не работал.


person kjo    schedule 13.02.2017    source источник
comment
Связанный: stackoverflow.com/questions/20977520/   -  person Samir Aguiar    schedule 13.02.2017
comment
Один обходной путь, который я мог себе представить, — это создать клон репозитория, в котором хранятся неактивные ветки, и удалить их в активном репозитории.   -  person mkrieger1    schedule 13.02.2017


Ответы (1)


Нет, нет действительно удобного способа сделать это.

Вот немного неудобный способ добиться результата, аналогичного "--all, кроме invalid-*":

gitk $(git for-each-ref --format="%(refname:short)" refs/heads | grep -v '^inactive-')

То есть мы используем git for-each-ref, чтобы найти все имена веток (все в refs/heads/*), затем используем grep -v, чтобы отбросить те, чье имя начинается с inactive-. Результирующий список представляет собой набор аргументов для gitk.

(Вы можете легко модифицировать gitk, чтобы сделать это, так как gitk — это просто гигантский Tcl/Tk-скрипт.)

person torek    schedule 13.02.2017