#git #vim #command-line-interface #branch
#git #vim #интерфейс командной строки #ветка
Вопрос:
Я хочу получить список имен моих объединенных ветвей в файл.
$ git branch --merged
fix-typo
* master
update-readme
Однако, когда я записываю этот вывод в файл и открываю его с помощью Vim, я нахожу несколько неожиданных символов:
$ git branch --merged > test
$ vim test
fix-typo^[[m
* ^[[32mmaster^[[m
update-readme^[[m
Что это такое и как я могу удалить символы ^[[m
и ^[[32
?
Ответ №1:
TL; DR; Использовать --no-color
флаг
git branch --no-color --merged
Странные символы, которые вы видите, являются escape-кодами ASCI для раскраски вывода терминала. https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
Лучший способ избавиться от них — попросить git не создавать их с помощью --no-color
флага. Тогда вы получите обычный текстовый вывод.
Также git должен автоматически отказаться от вывода раскраски при его перенаправлении. По крайней мере, в моем случае это работает именно так. (рыба)
Комментарии:
1. Большое вам спасибо! Я изучил ваше последнее предложение и понял, что проблема заключалась в том, что у меня была конфигурация git
color.ui=always
. Я изменил его наcolor.ui=auto
и теперь мне не нужен--no-color
флаг.