Есть ли способ вывода цвета для мерзавца (или любой команды)?
Рассмотреть возможность:
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
.
Однако есть ли более общее решение для добавления цвета в вывод команды?
Ответы:
Вы можете создать раздел
[color]
в вашем~/.gitconfig
с , например , следующего содержанияВы также можете точно контролировать то, что вы хотите раскрасить, например, например,
Я надеюсь, что это поможет вам начать. И, конечно же, вам нужен терминал, который поддерживает цвет.
источник
[color "status"]
разделе я добавилbranch = yellow
.Вы, вероятно, хотите использовать
В этой
auto
части говорится, что git будет пытаться использовать цвет только на терминалах, которые его поддерживают, и вы не получите последовательности ANSI, если перенаправите вывод команд git в файл, например. Установка его в тоtrue
же самоеauto
, и это также по умолчанию с Git 1.8.4.Это
color.ui
мета-конфигурация, которая включает в себя все различныеcolor.*
конфигурации, доступные с помощью команд git.Это подробно объясняется в
git help config
.источник
true
(которыйauto
указывает на) иalways
? Я читаю документы, но я все еще не понимаю разницу.источник
Принятый ответ дает наиболее распространенное решение. Если по какой-либо причине вам не нужно постоянно изменять конфигурацию, что делает это решение, вы можете переопределить конфигурацию для одной команды git:
Например:
Протестировано: поддерживается в git 2.4.6, не поддерживается в git 1.7.1.
источник
less
как я только что сделал, вы можетеless
передать экранирующие символы через терминалless -R
.источник
Вы можете сделать это с помощью Произвольное Command Output Colourer . В основном это работает, но я не выяснил, как обойти ошибку, когда подсказки, ожидающие ввода, не отображаются, и вы не можете просто набрать известный необходимый ввод и нажать клавишу ввода, чтобы продолжить в каждом случае.
Пример
~/.acoc.conf
дляgit
:..which хорошо работает вместе с
alias git="acoc git"
ин.bash_profile
.источник
acoc
?Для цветного
git diff
трубопроводаless
это работает:источник
Я знаю, что посту четыре года, но никто не ответил из моего лагеря, дальтоник. Если вы можете различать цвета, игнорируйте мой пост.
«git status», например, выводит белый текст на фоне / черный на белом фоне (разборчивый), темно-серый для удаленного (неразборчивый на черном фоне, но разборчивый на белом фоне) и средний серый для добавленного (ячмень разборчивый на черном фон, неразборчивый на белом фоне). Я использовал, чтобы переключить фон моего окна терминала на / с белого / черного, чтобы я мог прочитать неразборчивый текст. Простое решение больше:
Это делает весь текст разборчивым в стандартном белом или черном фоновом окне терминала.
источник
color.ui = never
).или отключите все / большую часть раскрашивания с помощью:
источник
git
и хочет каким-то образом сделать это в более глобальном смысле. Если вам известен такой метод, пожалуйста, отредактируйте свой ответ, чтобы объяснить это.