Git-status çıktısını nasıl renklendirebilirim?


93

Git-status çıktısını şu şekilde renklendirmek istiyorum:

untracked files = magenta
new files = green
modified files = blue
deleted files = red

Bunun yerine yeşil renkte hazırlanmış dosyaları ve mavi renkte hazırlanmamış dosyaları görüyorum: git-status ekran görüntüsü

.Gitconfig'im, bazı aramalara dayalı olarak aşağıdakilerle kurulur:

[color]
status = auto

[color "status"]
added = green
changed = blue
untracked = magenta
deleted = red

2
Not: git 2.9.1 italik ve strike özniteliklerini destekler. Aşağıdaki düzenlememe bakın.
VonC

Yanıtlar:


132

Gönderen git config doc :

color.status.<slot>

Durum renklendirme için özelleştirilmiş renk kullanın. <slot>biridir:

  • header (durum mesajının başlık metni),
  • addedveya updated(eklenen ancak taahhüt edilmeyen dosyalar),
  • changed (değiştirilen ancak dizine eklenmeyen dosyalar),
  • untracked (git tarafından izlenmeyen dosyalar),
  • branch (mevcut şube),
  • nobranch (dallanma yok uyarısının gösterildiği renk, varsayılan olarak kırmızıdır),
  • localBranchveya remoteBranch(şube ve izleme bilgileri durum kısa biçiminde görüntülendiğinde sırasıyla yerel ve uzak şube adları),
  • unmerged (birleştirilmemiş değişiklikler içeren dosyalar).

Bu değişkenlerin değerleri 'deki gibi belirtilebilir color.branch.<slot>.

Yani bu işe yarayacak:

git config color.status.changed blue
git config color.status.untracked magenta

Ancak:

new files = green
deleted files = red

Mümkün değil: bir renk seçmeniz gerekiyor:

  • dizine eklenirlerse, rengini seçerler color.status.added.
  • dizine eklenmezlerse, veya rengini seçerler color.status.modified.

Tabii olarak yorumladı tarafından elboletaire :

Daha önce etkinleştirilmemişse renklendirme çıktısını etkinleştirmeyi unutmayın:

git config --global color.ui true

Shaun Luttin ekliyor:

Komut ayrıca tırnak içinde birden çok parametre alabilir. Bu, bu listedeki iki rengi (ön plan arka planı) içerir:

normal, siyah, kırmızı, yeşil, sarı, mavi, macenta, camgöbeği ve beyaz;

ve ayrıca bu listeden bir öznitelik (stil) içerir:

kalın, sönük, ul, yanıp sönme ve ters çevirme.

Yani bu işe yarayacak:

git config color.status.changed "blue normal bold"
git config color.status.header "white normal dim"

Not: Git 2.9.1 (Temmuz 2016) ile, çıktı renklendirme şeması iki yeni öznitelik öğrendi , italik vevuruş, mevcut kalın, ters vb.

Bkz 9dc3515 işlemek , 54590a0 taahhüt , 5621068 taahhüt , df8e472 işlemek , ae989a6 işlemek , adb3356 işlemek , 0.111.681 taahhüt tarafından (2016 23 Jun) Jeff King ( peff) .
(Göre Birleştirilmiş Junio Cı Hamano - gitster- içinde işlemek 3c5de5c , 11 Temmuz 2016)

Ayrıca, no-özniteliklerin reddedilmesine de izin verir

" no-bold" nobold"Yerine" "kullanmak daha kolay okunur ve yazmak daha doğaldır (her neyse, benim için" nobold "u ilk kullanan kişi ben olsam bile). Her ikisine de izin vermek kolaydır.


31
Daha önce etkinleştirilmemişse renklendirme çıktısını etkinleştirmeyi unutmayın:git config --global color.ui true
elboletaire

1
@elboletaire iyi nokta. Daha fazla görünürlük için cevaba ekledim.
VonC

1
Teşekkürler, color.ui cevaptır.
Robeezy
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.