Как раскрасить вывод git?

Есть ли способ для вывода цвета для git (или любой команды)?

Рассматривать:

baller@Laptop:~/rails/spunky-monkey$ git status # On branch new-message-types # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: app/models/message_type.rb # no changes added to commit (use "git add" and/or "git commit -a") baller@Laptop:~/rails/spunky-monkey$ git add app/models 

А также

 baller@Laptop:~/rails/spunky-monkey$ git status # On branch new-message-types # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: app/models/message_type.rb # 

Результат выглядит одинаково, но информация совершенно другая: файл перешел от неустановленного к поэтапному для фиксации.

Есть ли способ раскрасить результат? Например, неустановленные файлы красные, устраиваются зеленые?

Или даже Changes not staged for commit: красным и # Changes to be committed: на зеленый?

Работа в Ubuntu.

EDIT: Googling нашел этот ответ, который отлично работает: git config --global --add color.ui true .

Однако существует ли вообще общее решение для добавления цвета к выходу команды?

8 Solutions collect form web for “Как раскрасить вывод git?”

Вы можете создать раздел [color] в ~/.gitconfig например, следующим содержимым

 [color] diff = auto status = auto branch = auto interactive = auto ui = true pager = true 

Вы также можете точно контролировать то, что вы хотите покрасить, каким образом, например

 [color "status"] added = green changed = red bold untracked = magenta bold [color "branch"] remote = yellow 

Надеюсь, вам это поможет. И, конечно же, вам нужен терминал, поддерживающий цвет.

Вероятно, вы хотите использовать

 git config --global color.ui auto 

В auto части говорится, что git будет пытаться использовать цвет только на терминалах, которые его поддерживают, и вы не получите ANSI-последовательностей, если вы перенаправляете вывод команд git в файл, например. Установка его в true аналогична auto , и это также значение по умолчанию, поскольку Git 1.8.4.

color.ui – это мета-конфигурация, которая включает в себя все различные color.* конфигурации color.* Доступны команды git.

Это подробно объясняется в git help config .

 git config --global color.ui auto git config --global color.branch auto git config --global color.status auto 

Принятый ответ дает наиболее распространенное решение. Если по какой-либо причине вам не нужно постоянно изменять конфигурацию, что делает это решение, вы можете переопределить конфигурацию для одной команды git:

 git -c color.ui=always <usual git command and options> 

Например:

 git -c color.ui=always status git -c color.ui=always diff 

Тестирование: поддерживается на git 2.4.6, не поддерживается на git 1.7.1.

 git config --global color.ui always git config --global color.branch always git config --global color.diff always git config --global color.interactive always git config --global color.status always git config --global color.grep always git config --global color.pager true git config --global color.decorate always git config --global color.showbranch always 

Вы можете сделать это с помощью Arbitrary Command Output Colourer . В основном это работает, но я не понял, как обойти ошибку, когда подсказки, ожидающие ввода, не отображаются, и вы не можете просто ввести нужный необходимый ввод и нажать enter, чтобы продолжить в каждом случае.

Пример ~/.acoc.conf для git :

 # git [git/ae] /.*(error:.*)/ red+bold /.*(warning:.*)/ yellow /.*(hint:.*)/ magenta /.*(up-to-date).*/ green+bold /.*(nothing to commit).*/ green /^(\+.*)/ green /^(-.*)/ red 

.., который отлично работает вместе с alias git="acoc git" в .bash_profile .

Я знаю, что этой должности четыре года, но никто не ответил из моего лагеря, слепой. Если вы можете различать цвета, игнорируйте мой пост.

«git status», например, выделяет текст, белый на фоне / черный на белом фоне (разборчивый), темно-серый для удаления (неразборчивый на черном фоне, но разборчивый на белом фоне) и средний серый для добавления (ячмень, читаемый на черном фон, неразборчивый на белом фоне). Я использовал для переключения фона моего окна терминала на / из белого / черного цвета, чтобы я мог читать неразборчивый текст. Простое решение:

  git status | more 

Это делает текст разборчивым в стандартном оконном окне белого или черного фона.

или отключить все раскраски:

 git config --global color.ui false git config --global color.branch false git config --global color.diff false git config --global color.interactive false git config --global color.status false git config --global color.grep false git config --global color.pager false git config --global color.decorate false git config --global color.showbranch false 
  • Git Backup / home с другими репозиториями внутри него
  • Как настроить систему RAID с помощью USB-накопителей в качестве носителя
  • Clone repos с похожим именем
  • Как работает этот git-псевдоним?
  • Как я получил git-коммиты, чтобы появиться в автозаполнении?
  • Могут ли пользователи в группе получить доступ к файлу, находящемуся в домашнем каталоге другого пользователя?
  • Как заменить слова в файле git rebase
  • Как отключить сглаживание в git-gui и gitk
  • Обнаружение и удаление пустых каталогов из списка
  • Просмотр резервной копии bup с помощью gitk или gitg
  • с помощью git для управления версиями любого файла, отредактированного с помощью текстового редактора
  • GIT на «горном льве» не будет выполнять команды
  • Interesting Posts

    Не удается получить доступ к ssh в моем VM Centos

    Почему я все еще получаю приглашение пароля с помощью ssh с аутентификацией ключа?

    wget-файл, протоколирование вывода и отображение вывода в командной строке

    Низкий уровень громкости на ноутбуке Lenovo под Fedora

    tar конкретных файлов в нескольких разных подкаталогах

    Есть ли какой-либо веб-сайт с командной строкой Linux для практических команд?

    Как я могу использовать arptables для ограничения количества исходящих запросов ARP в секунду?

    Извлеките подстроку из значения переменной

    Почему команда 'at' не печатает на стандартный вывод?

    Приостановить работу ОЗУ

    Как использовать специальные символы в xfig

    Playerctl / dbus не работает с Spotify

    Как добавить путь к системе $ PATH для оболочки всех пользователей без входа и оболочки входа в debian

    Как удалить дубликаты из выходных данных tshark

    Более быстрые альтернативы lsof

    Linux и Unix - лучшая ОС в мире.