Jak pokolorować konsolę Git?

Ostatnio widziałem, że konsola git w Windows jest kolorowa, np. Zielona dla dodawania, czerwona dla usuwania itp. Jak tak pokolorować moją git konsolę?

Aby go zainstalować, użyłem komendy: $ sudo apt-get install git-core

Author: MauroPorrasP, 2012-06-12

9 answers

As noted by @VonC, color.ui domyślnie auto od git 1.8.4. Nie za szybko;)


Z Unix & Linux Stackexchange pytanie Jak pokolorować wyjście git?i odpowiedź przez @ Evgeny :

git config --global color.ui auto

color.ui jest konfiguracją meta, która zawiera wszystkie różne konfiguracje color.* dostępne z poleceniami git. Jest to wyjaśnione szczegółowo w git help config.

Więc w zasadzie jest łatwiej i bardziej przyszłościowe niż ustawienie różnych ustawień color.* osobno.

Dogłębne wyjaśnienie z git config dokumentacja :

color.ui: ta zmienna określa wartość domyślną dla zmiennych takich jak color.diff i color.grep, które kontrolują użycie koloru dla każdej rodziny poleceń. Jego zakres rozszerzy się, gdy więcej poleceń nauczy się konfiguracji, aby ustawić domyślną opcję --color. Ustaw ją na always, Jeśli chcesz, aby wszystkie dane wyjściowe nie były przeznaczone do użytku maszynowego aby użyć koloru, do true lub auto, jeśli chcesz, aby takie wyjście używało koloru po zapisaniu do terminala, lub do false lub never, jeśli wolisz, aby polecenia git nie używały koloru, chyba że są włączone jawnie z inną konfiguracją lub opcją --color.

 640
Author: Joel Purra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:10

Na przykład patrz http://www.arthurkoziel.com/2008/05/02/git-configuration/

Interesująca część to

Wyjście kolorystyczne:

git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto
 52
Author: KingCrunch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-12 14:31:34

Dodaj do swojego .następny kod pliku gitconfig:

  [color]
    ui = auto
  [color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
  [color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
  [color "status"]
    added = yellow
    changed = green
    untracked = cyan
 25
Author: Victor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-28 17:54:44

Git automatycznie koloruje większość danych wyjściowych, jeśli o to poprosisz. Możesz uzyskać bardzo szczegółowe informacje o tym, co chcesz kolorować i jak; ale aby włączyć wszystkie domyślne kolorowanie terminala, Ustaw kolor.ui do true:

git config --global color.ui true
 7
Author: Tanmay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-06 18:39:16

W Ubuntu lub innej platformie (tak, Windows też!); starting git1.8.4, który został wydany 2013-08-23, nie musisz nic robić :

Wiele samouczków uczy użytkowników ustawiania " koloru.interfejs " do "auto" jako pierwsza rzecz po ustawieniu " user.name/email", aby przedstawić się Gitowi. teraz domyślna wartość zmiennej to " auto".

Więc domyślnie zobaczysz kolory.

 6
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-04 11:23:25

W Twoim pliku ~/.gitconfig po prostu dodaj to:

[color]
  ui = auto

Dba o wszystkie Twoje polecenia git.

 6
Author: Chuntao Lu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-08 17:36:59

Innym sposobem jest edycja .gitconfig (Utwórz, jeśli nie istnieje), na przykład:

vim ~/.gitconfig

A następnie dodać:

[color]
  diff = auto
  status = auto
  branch = auto
 5
Author: atupal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-12 23:36:35

GIT domyślnie używa kolorowego wyjścia, ale w niektórych systemach, takich jak CentOS, nie jest ono włączone . Możesz włączyć go w ten sposób

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

Możesz wybrać wymagane polecenie tutaj .

Tutaj --global jest opcjonalne, aby zastosować akcję dla każdego repozytorium w systemie . Jeśli chcesz zastosować kolorowanie tylko dla bieżącego repozytorium, możesz zrobić coś takiego -

 git config color.ui  true 
 5
Author: Deepak Dixit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-26 13:22:39

W Git 2.18, masz większą kontrolę nad tym, jak chcesz określić kolory w konsoli.
polecenie "git config " używa oddzielnych opcji np. "--int", "--bool", itd. aby określić, jaki typ ma zostać zinterpretowany przez wywołującego jako.

Wprowadzono nową opcję " --type=<typename>", która sprawiłaby, że zdefiniowanie nowych typów byłoby czystsze.

W 2018 roku, po raz pierwszy w historii, w Polsce, w 2018 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w Polsce, w 2019 roku, w (ttaylorr).
(dodany przez Junio C Hamano -- gitster -- in commit e3e042b, 08 May 2018)

builtin/config.c: Wsparcie --type=<type> jako preferowany alias dla --<type>

git config od dawna pozwala na to, aby osoby dzwoniące zapewniały " Typ specifier", który nakazuje git config (1) zapewnić, że przychodzące wartości mogą być interpretowane jako ten typ, oraz (2) że wartości wychodzące są kanoniczne w ramach tego typu.

W innej serii, My zaproponuj rozszerzenie tej funkcjonalności o --type=color i --default w celu zastąpienia --get-color.

Jednak tradycyjnie używamy --color, aby oznaczać " pokoloruj to wyjście", zamiast "ta wartość powinna być traktowana jako kolor".

Obecnie git config nie obsługuje tego rodzaju koloryzacji, ale powinniśmy być ostrożni, aby uniknąć kucania w tej opcji zbyt wcześnie, aby git config może obsługiwać --color (w tradycyjnym znaczeniu) w przyszłość, jeśli jest to pożądane.

W tym patch, wspieramy --type=<int|bool|bool-or-int|...> w dodatek do --int, --bool, i itp.
pozwala to wyżej wymienionej nadchodzącej łatce na obsługę zapytań o wartość koloru z domyślną wartością przez --type=color --default=..., bez marnowania --color.

Zachowujemy historyczne zachowanie narzekania, gdy wiele, dajemy flagi w stylu legacy-style --<type>, a także rozszerzamy to na sprzeczne flagi nowego stylu --type=<type>. --int --type=int (i jego para komutacyjna) nie narzeka, ale --bool --type=int (i jego para komutacyjna) tak.

Więc zanim miałeś --bool i --int, Teraz (dokumentacja):

--type <type>

'git config' zapewnia, że każde wejście lub wyjście jest poprawne w ramach danego ograniczenia typu i canonicalize outgoing values in <type>'s forma kanoniczna.

Valid <type> ' s include:

  • 'bool': canonicalize values as either "true " or " false".
  • 'int': canonicalize wartości jako proste liczby dziesiętne. Opcjonalnie przyrostek 'k', 'm', or 'g ' spowoduje, że wartość zostanie pomnożona przez 1024, 1048576 lub 1073741824 po wprowadzeniu.
  • 'bool-or-int': canonicalize zgodnie z "bool " lub " int", jak opisano powyżej.
  • 'path': canonicalize przez dodanie wiodącej ~ do wartości $HOME i ~user do katalogu domowego dla określonego użytkownika. Ten specyfik nie ma efekt podczas ustawiania wartości (ale możesz użyć git config section.variable ~/ z linii poleceń, aby Twoja powłoka wykonała ekspansja.)
  • 'expiry-date': canonicalize poprzez konwersję ze stałego lub względnego łańcucha daty na znacznik czasu. Ten specyfikator nie ma żadnego wpływu podczas ustawiania wartości.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
 1
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-20 21:22:14