Как раскрасить вывод 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 .

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

  • В чем разница между '* .txt' и * .txt?
  • Кто-нибудь знает верный способ установки git на Solaris 9?
  • Ошибка записи: на устройстве нет места. Удаление дополнительных пакетов. Попытка восстановления
  • Ошибка md5sum для пакета git-man-pages.tar.gz
  • Как использовать «less -F» без «-X», но все же отображать вывод, если только одна страница?
  • Пополнение Git для псевдонимов доступно только после запуска `git reflog`
  • Github добавляет репозиторий в качестве вилки из существующего клона
  • Как «git pull» съел мою домашнюю работу?
  • 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 
    Linux и Unix - лучшая ОС в мире.