Git konsolunu nasıl renklendirebilirim?


371

Son zamanlarda gitWindows'daki konsolun renklendiğini gördüm , örneğin eklemeler için Yeşil, silme işlemleri için kırmızı, vb. Konsolumu nasıl bu şekilde renklendirebilirim git?

Yüklemek için şu komutu kullandım: $ sudo apt-get install git-core


6
Git1.8.4'ten başlayarak, varsayılan olarak renkleri görmelisiniz. Bkz aşağıda Cevabımı .
VonC

1
Ubuntu 14.04'te @VonC git 1.9.1, olmadı. Yapılandırmayı JoelPurra'nın cevabından kendim ayarlamak zorunda kaldım.
Izkata

1
@Izkata garip, daha sonra test edeceğim, ama git 2.1+? (aşağıda stackoverflow.com/questions/10998792/…
VonC

Yanıtlar:


682

@VonC tarafından belirtildiği gibi , varsayılan değer Git 1.8.4'ten bericolor.uiauto


Unix ve Linux Stackexchange sorusundan Git'in çıktısı nasıl renklendirilir? ve @Evgeny'nin cevabı :

git config --global color.ui auto

Bu color.ui, komutlarla color.*kullanılabilen tüm çeşitli yapılandırmaları içeren bir meta yapılandırmasıdır git. Bu, içinde derinlemesine açıklanmıştır git help config.

Temel olarak, farklı color.*ayarları ayrı ayrı yapmaktan daha kolay ve gelecekteki kanıtlar .

git configBelgelerden derinlemesine açıklama :

color.ui: Bu değişken, komut ailesi başına renk kullanımını kontrol eden color.diffve değişkenlerin varsayılan değerini belirler color.grep. Daha fazla komut --colorseçenek için bir varsayılan ayarlamak üzere yapılandırmayı öğrendikçe kapsamı genişler . Olarak ayarlayın always, Sizin kullanım rengine makine tüketim amaçlı değil tüm çıktıyı istiyorsanız trueveya autoeğer terminale yazılı zaman kullanımı rengine böyle çıktı istiyorsanız veya hiç falseyoksa neverdeğil kullanım rengine git komutları tercih ediyorsanız bazı açıkça etkin sürece diğer yapılandırma veya --colorseçenek.


11
Bu soru da sorulduğu gibi sadece linux değil, OSX üzerinde de çalışıyor
StackExchange What The Heck

Muhtemelen sonunda 'doğru' eklemeniz gerekir. git config - küresel renk.ui otomatik doğru
Vamshi

6
@Skeptor: hayır, autoyeter.
Joel Purra

2
@Phani: evet, kalıcı.
Joel Purra

5
Kullanıcının dosyasındaki bölüme ui = autogirişi eklediğinden kalıcıdır . [color]~/.gitconfig
Andris


30

.Gitconfig dosyanıza bir sonraki kodu ekleyin:

  [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

7

Git, isterse çıkışının çoğunu otomatik olarak renklendirir. Neyi ve nasıl renklendirmek istediğiniz konusunda çok spesifik olabilirsiniz; ancak tüm varsayılan terminal renklendirmesini açmak için color.ui öğesini true olarak ayarlayın:

git config --global color.ui true

6

Ubuntu veya başka bir platformda (evet, Windows da!); Başlangıç git1.8.4 edildi 2013-08-23 yayımlanan , hiçbir şey yapmanız gerekmez :

Birçok öğretici, kullanıcılara Git'i user.name/emailtanıtmak için " " ayarlandıktan sonra "color.ui" yi "auto" olarak ayarlamayı öğretir . Şimdi değişken varsayılan olarak " auto" olarak ayarlanmıştır .

Böylece renkleri varsayılan olarak göreceksiniz.


2
(iyi, terminale bağlı olarak Windows bile: stackoverflow.com/a/12133244/6309 )
VonC

2
2014'te Ubuntu'yu kullanarak, git'i yüklemiş ve hala çalıştırmak zorunda kalmıştır git config --global color.ui auto. Aynı şey Mac bilgisayarım için de geçerlidir, varsayılan tek autoWindows PC'imde Git Bash idi.
Mart'ta sargas

1
Sure @sargas, yüklemek için gereken bir PPA dan : launchpad.net/~git-core/+archive/ppa (Ubuntu için) veya git-scm.com/download/mac (Mac için)
VonC

1
Anlıyorum, bu yüzden kaynağa bağlı. Bu konuda yorum yapmak için zaman ayırdığınız için teşekkür ederiz.
Mart'ta sargas

6

Senin içinde ~/.gitconfigdosyanın, sadece bu ekleyin:

[color]
  ui = auto

Tüm git komutlarınızı halleder.


5

Başka bir yol, örneğin .gitconfig(yoksa bir tane oluşturun) düzenlemektir :

vim ~/.gitconfig

ve sonra ekleyin:

[color]
  diff = auto
  status = auto
  branch = auto

3
@ chuntao-lu'dan bahsettiğimiz gibi [color] ui = autoyeterlidir.
Chacko Mathew

5

GIT varsayılan olarak renkli çıktı kullanır, ancak CentOS gibi bazı sistemlerde etkin değildir. Bu şekilde etkinleştirebilirsiniz

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

Buradan istediğiniz komutu seçebilirsiniz.

Burada --global , sisteminizdeki her havuz için eylem uygulamak için isteğe bağlıdır. Sadece mevcut depo için renklendirme uygulamak istiyorsanız, o zaman böyle bir şey yapabilirsiniz -

 git config color.ui  true 

1

Git 2.18 ile, konsolda renkleri nasıl belirlemek istediğiniz üzerinde daha fazla kontrole sahip olursunuz.
" git config" Komutu , arayanın değerin ne tür olarak yorumlanmasını istediğini belirtmek için ayrı seçenekler kullanır--int , örneğin " ", " --bool" vb .

--type=<typename>Yeni türlerin tanımlanmasını daha temiz hale getirecek yeni bir " " seçeneği eklendi.

Bkz. Taahhüt fb0dc3b (18 Nis 2018) ve taahhüt: 0a8950b (09 Nis 2018), Taylor Blau ( ttaylorr) .
(Tarafından Birleştirilmiş Junio C Hamano - gitster- içinde e3e042b işlemek 2018 8 Mayıs)

builtin/config.c: --type=<type>için tercih edilen takma ad olarak destek--<type>

git configuzun zamandır arayanların, git config(1) gelen değerlerin bu tür olarak yorumlanmasını sağlamak ve (2) giden değerlerin bu tür altında kanonik hale getirilmesi talimatını veren bir 'tür belirleyici' sağlama yeteneğine izin vermiştir .

Başka bir seride, bu işlevselliği genişletmeyi --type=colorve --defaultdeğiştirmeyi öneriyoruz --get-color.

Bununla birlikte, geleneksel --colorolarak "bu değer bir renk olarak ele alınmalıdır" yerine "bu çıktıyı renklendir" anlamına gelir.

Şu anda, git configbu tür renklendirmeyi desteklememektedir, ancak bu seçenek üzerinde çok erken çömelmekten kaçınmaya dikkat etmeliyiz, böylece git configistenirse --color(geleneksel anlamda) gelecekte destekleyebilir.

Bu yama, biz destekleyen --type=<int|bool|bool-or-int|...>ek olarak --int, --boolve vb
Bu yoluyla varsayılan bir renk değeri sorgulama desteğine yukarıda belirtilen yaklaşan yama verir --type=color --default=...çarçur etmeden, --color.

Birden fazla, eski tarz --<type>bayrak verildiğinde şikâyet etmenin tarihi davranışını koruyor ve bunu çatışan yeni tarz --type=<type>bayraklara genişletiyoruz . --int --type=int(ve değişmeli çifti) şikayet etmez, --bool --type=int(ve değişmeli çifti) şikayet eder.

Yani daha önce --boolve --intşimdi ( belgeler ):

--type <type>

' git config', herhangi bir giriş veya çıkışın verilen tür kısıtlaması (ları) altında geçerli olmasını sağlar ve giden değerleri <type>kurallı biçimde standartlaştırır.

Geçerli olanlar <type>:

  • ' bool': değerleri " true" veya " false" olarak standartlaştırır.
  • ' int': değerleri basit ondalık sayılar olarak standartlaştırır. İsteğe bağlı bir ' k', ' m' veya ' g' soneki, girişten sonra değerin 1024, 1048576 veya 1073741824 ile çarpılmasına neden olur.
  • ' bool-or-int': yukarıda açıklandığı gibi ' bool' veya ' int' ye göre standartlaştır .
  • ' path': Lider ekleyerek canonicalize ~değerine $HOMEve ~userbelirtilen kullanıcı için ana dizine. Bu belirleyicinin değeri ayarlarken bir etkisi yoktur (ancak git config section.variable ~/komut satırından kabuğunuzun genişletmeyi yapmasına izin vermek için kullanabilirsiniz .)
  • ' expiry-date': sabit veya göreli bir tarih dizesinden bir zaman damgasına dönüştürerek standartlaştırır. Bu belirleyicinin değeri ayarlarken hiçbir etkisi yoktur.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).

Git 2.22'nin (2.Çeyrek 2019) " git config --type=color ..." ifadesinin " " yerine geçmesi gerektiğini açıkladığını git config --get-color, ancak belgelenmemiş ve şimdi düzeltilmiş küçük bir fark olduğunu unutmayın.

Bkz . Jeff King ( ) tarafından cd8e759 (05 Mart 2019 ) . (Göre Birleştirilmiş Junio Cı Hamano - - içinde f6c75e3 tamamlama , 20 Mar 2019)peff
gitster

config: belge --type=colorçıktısı tam bir satırdır

Yeni " --type=color" seçeneği " git config" geleneksel " --get-color" seçeneğiyle yukarı doğru uyumlu olmakla birlikte , ikincisinin aksine, çıktısı sonunda LF eksik olan eksik bir çizgi değildir.
Bu, " git config --type=bool" gibi diğer türlerin çıktılarıyla tutarlı olmasını sağlar .

Belgelenmeyen kullanıcıları bazen şaşırtıyor.

Bu şimdi okuyor:

--type=color [--default=<default>]tercih edilir --get-color (ancak --get-color, tarafından yazdırılan son satırın atlanacağına dikkat edin --type=color).


Örnek şablonlardaki git config --type=bool" git config --bool" çağrılarını değiştirmek için Git 2.26 (Q1 2020) ile kullanıldığını görebilirsiniz .

Bakınız Lucius Hu ( ) tarafından 81e3db4 (19 Ocak 2020) numaralı taahhüt . (Göre Birleştirilmiş - Junio Cı Hamano - içinde 7.050.624 tamamlama 2020 30 Ara)lebensterben
gitster

templates: kullanımdan kaldırılmış tür seçeneğini düzelt --bool

İmzalayan: Lucius Hu

--boolSeçeneği için git-configtarihsel olarak işaretlenir ve kullanıcılar kullanmak önerilir --type=boolyerine.
Bu işlem --bool, şablonlardaki tüm tekrarların yerine geçer .

Ayrıca unutmayın, başka hiçbir kaldırılan türü seçenekleri de dahil olmak üzere, bulunursa --int, --bool-or-int, --pathveya --expiry-date.


0

buraya bakın: https://nathanhoad.net/how-to-colours-in-git/

adımlar:

  1. Düzenleme için ~ / .gitconfig dosyasını açın

    vi ~ / .gitconfig

  2. Aşağıdaki kodu yapıştırın:

    [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
    
  3. Dosya 'yı kaydet.

Yerel deponuzdaki herhangi bir dosyayı değiştirin ve

git status

Zaten aynı # cevabı-29320572 Victor tarafından var
criticabug
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.