git log --decorate
Varsayılan olarak koyacağız:
- HEAD camgöbeği
- kırmızı renkli uzak dallar
- yeşil etiket
ve color.decorate
config aracılığıyla değiştirilebilir .
Ancak, git log --format
özel olarak HEAD
veya uzaktan kumandaları veya şubeyi görüntülemek için bir yol sunmuyor : üçü de %d
tek bir renkle gösteriliyor .
Mayıs 2013 Güncellemesi, aşağıda Elad Shahar tarafından belirtildiği gibi (yükseltildi), Git 1.8.3 bir seçenek daha sunuyor:
git log –format
artık %C(auto)
Git'e uçbirim çıktısı için çözümleme %d
(dekorasyon), %h
(kısa işleme nesne adı) vb. sırasında renk kullanmasını söyleyen bir belirteç bulunuyor .
Bu Atlassian blog yazısı , bu özelliğin format ( git rebase
, git count-objects
) ve renklere ( git branch -vv
) odaklanan diğerlerinin bir parçası olduğunu söylüyor.
Bu , çıktı bir terminal için kullanılmadığında renkleri otomatik olarak devre dışı bırakan auto,reset
1.8.2'ye ek olarak gelir1
%C(auto,blue)Hello%C(auto,reset)
Not: git 2.4+ (Q2 2015), şube adlarının etrafındaki rengi sıfırlama konusunda daha iyi bir iş çıkaracaktır.
Bkz 5ee8758 tamamlama ile (Junio Cı Hamano gitster
) :
log --decorate
: "commit" rengini bir sonraki öğeye sızdırmayın
" git log --decorate
" İçinde , kaydetme başlığını şu şekilde görürsünüz:
commit ... (HEAD, jc/decorate-leaky-separator-color)
burada " commit ... (
" boyanmış color.diff.commit
, " HEAD
" içinde color.decorate.head
" ,
" içinde color.diff.commit
, dal adı
color.decorate.branch
girilmiş ve sonra " )
" içinde kapanmıştır color.diff.commit
.
HEAD ve yerel dal adını gövde metniyle aynı renge boyamak isterseniz (belki de camgöbeği ve yeşil, siyah-beyaz bir terminalde okunamayacak kadar soluk olduğundan), söylemek zorunda kalmazsınız.
[color "decorate"]
head = black
branch = black
çünkü aynı yapılandırmayı siyah üzerine beyaz bir terminalde yeniden kullanamazsınız. Safça beklerdin
[color "decorate"]
head = normal
branch = normal
çalışmak, ama maalesef öyle değil.
" HEAD
" Dizgisini ve dal adını, dekorasyon öğeleri arasında açılış parantezi veya virgülle aynı renge boyar.
Bunun nedeni, kodun kendi renginde "ön ek" yazdırdıktan sonra rengi sıfırlamayı unutmasıdır.
Git 2.5'in (Q2 2015) bir hatayı düzelttiğini unutmayın:
Bkz 429ad20 tamamlama ile Junio Cı Hamano ( gitster
) , 13 Mayıs 2015
(göre birleştirilmiş Junio Cı Hamano - gitster
- içinde fd70780 tamamlama 2015 22 Mayıs)
log
: dekorasyon adlarını çok erken kısaltmayın
log --decorate
Git 2.4'te geçerli dalın ucundaki HEAD -> master
yürütmeyi gösteren " " geliştirme, örneğin " ", --decorate = full ile çalışmadı.
Git 2.9.x + (Q3 2016) Başka bir hata ve çözecektir onur color=auto
için%C(auto)
Git 2.10.2 (Ekim 2016) , René Scharfe (``) tarafından 82b83da (29 Eylül 2016) ve commit c99ad27 (17 Eylül 2016) ile diğer hataları düzeltir . (Tarafından Birleştirilmiş - Junio C Hamano - içinde 76796d4 taahhüt 2016, 28 Eki)
gitster
pretty
: %C(auto)
çıktı boşsa sıfırlama eklemekten kaçının
%C(auto)
Otomatik renklendirmenin amaçlandığı gibi görüntülendiğinden emin olmak için rengi ve niteliği sıfırlamak için bir kaçış dizisi yayınlıyoruz .
Çıktı strbuf boşsa , yani %C(auto)
biçim dizgisinin başlangıcında göründüğünde bunu yapmayı bırakın , çünkü o zaman sıfırlamaya gerek yoktur ve çıktıda birkaç bayt kaydederiz.
pretty
: %C(auto)
tüm özellikleri sıfırlayalım
Renkleri sıfırla ve nitelikleri üzerine %C(auto)
üzerlerinden tam otomatik kontrol sağlamak için; aksi takdirde kalın veya ters gibi özellikler, önceki %C
yer tutuculardan yine de geçerli olabilir .