Onko git-värin (tai minkä tahansa komennon) mahdollista värittää?
Harkitse:
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
Ja
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 #
Tulos näyttää samalta, mutta tiedot ovat täysin erilaiset: tiedosto on siirtynyt vaiheistamattomasta pakolliseksi.
Onko olemassa tapaa värittää tuotos? Esimerkiksi vaiheettomat tiedostot ovat punaisia, vaiheistetut ovat vihreitä?
Tai edes Changes not staged for commit:
punaiseksi ja # Changes to be committed:
vihreäksi?
Työskenteletkö Ubuntussa.
MUOKKAA: Googling löysi tämän vastauksen, joka toimii hyvin: git config --global --add color.ui true
.
Onko kuitenkin olemassa yleisempää ratkaisua värien lisäämiseen komentolähtö?
Kommentit
- Haluatko jotain, joka värjää kaikki komentolähdöt? Mistä se tietäisi, mitkä osat väritään?
- Luulen, että olisi mahdollista määrittää se regexillä: Jokaisella värillä voi olla aloitusrex. Ja kaikki värit voidaan poistaa käytöstä oletusarvoisesti. Ja jos teksti ” foo ” tulee näkyviin, näytä se tietyllä värillä …
vastaus
Voit luoda osion [color]
omaan ~/.gitconfig
esim seuraava sisältö
[color] diff = auto status = auto branch = auto interactive = auto ui = true pager = true
Voit myös hallita sitä, mitä haluat värittää millä tavalla, esim.
[color "status"] added = green changed = red bold untracked = magenta bold [color "branch"] remote = yellow
Toivon, että pääset alkuun. Ja tietysti tarvitset päätelaitteen, joka tukee värejä.
Kommentit
- Luulen, että kannattaa asettaa git config –global color.ui auto (@Evgeny ’ s vastaus) yläosassasi … Luulen, että ’ ovat todennäköisesti sellaisia, mitä useimmat ihmiset ovat etsii. Olen ’ äänestänyt molempia … Minä ’ m vain sanomalla, Internetin vuoksi, kun se tulee tänne, luulen monet ihmiset haluavat vain yksinkertaisen yhden linjan. Mikä parasta, jos he saavat sen, plus ylimääräinen hyvyytesi.
- Tämä toimi minulle täydellisesti –
[color "status"]
-osiossa lisäsinbranch = yellow
. - voit lisätä [väri] -osion myös projekti ’ s .git / config-tiedostoon
- Ja sinä voi vain asettaa kokoonpanomuuttujan yhdelle git-komennon kutsulle: stackoverflow.com/a/18304605/134044
vastaus
Haluat todennäköisesti käyttää
git config --global color.ui auto
auto
-osassa sanotaan, että git yrittää käyttää väriä vain sitä tukevissa päätelaitteissa, etkä saa ANSI-sekvenssejä, jos ohjaat git-komentojen lähdön esimerkiksi tiedostoon. Sen asettaminen arvoon true
on sama kuin auto
, ja tämä on myös oletus Git 1.8.4: n jälkeen.
color.ui
on metakokoonpano, joka sisältää kaikki color.*
-määritykset, jotka ovat käytettävissä git-komennoilla.
Tämä selitetään perusteellisesti git help config
.
Kommentit
- Voitteko selittää color.ui: n välisen eron
true
(johonauto
osoittaa) vs.always
? Luin asiakirjat , mutta en silti ymmärrä eroa. - @chharvey
color.ui = auto
+git diff | less
– ei värejä,color.ui = always
+git diff | less
– värillinen ulostulo.LESS=-R
on epäsuora.
Vastaa
git config --global color.ui auto git config --global color.branch auto git config --global color.status auto
Kommentit
- FYI, vain tämä toimi git-versiossa 1.5.2.1, toiset vastaukset eivät ’ t.
vastaus
Hyväksytty vastaus antaa yleisimmän ratkaisun. Jos jostain syystä sinun ei tarvitse muuttaa asetuksia pysyvästi, mitä ratkaisu tekee, voit ohittaa yhden git-komennon kokoonpanon:
git -c color.ui=always <usual git command and options>
Esimerkiksi :
git -c color.ui=always status git -c color.ui=always diff
Testattu: tuettu git 2.4.6: lla, ei tuettu gitillä 1.7.1.
Kommentit
- Kaikille muille, jotka yrittävät saada väriä, kun putkitaan
less
kuten minä juuri olin, voit tehdäless
siirtää väripalautusmerkit päätelaitteeseenless -R
kautta. - Milloin tämä ominaisuus lisättiin?
Vastaa
git config --global color.ui always git config --global color.branch always git config --global color.diff always git config --global color.interactive always git config --global color.status always git config --global color.grep always git config --global color.pager true git config --global color.decorate always git config --global color.showbranch always
Vastaa
tai poista kaikki / suurin osa värityksestä käytöstä:
git config --global color.ui false git config --global color.branch false git config --global color.diff false git config --global color.interactive false git config --global color.status false git config --global color.grep false git config --global color.pager false git config --global color.decorate false git config --global color.showbranch false
kommentit
- OP ei ollut ’ ei halunnut sammuttaa värejä , vaan ottaa päälle värit . Toimenpideohjelmassa hän ilmoitti, kuinka tehdä
git
-muoto ja haluaa jonkinlaisen tavan tehdä se globaalimmassa mielessä. Jos tiedät tällaisen menetelmän, muokkaa vastaustasi sen selittämiseksi. - joskus ihmiset etsivät jotain läheistä, mutta hieman erilaista – mutta kiitos vastahakoisesta äänestä.
- Pidin se @theRiley
vastaus
Värilliselle git diff
-putkelle osioon less
, tämä toimii:
git -c color.diff=always diff [...] | less -R
vastaus
Voit tehdä tämän mielivaltaisen komentokomennon väriaineella . Se toimii enimmäkseen, mutta en ole keksinyt miten kiertää virhettä, jossa syötettä odottavia kehotteita ei näytetä, ja et voi yksinkertaisesti kirjoittaa tunnettua tarvittavaa syötettä ja painaa Enter jatkaaksesi joka tapauksessa.
Esimerkki ~/.acoc.conf
mallista git
:
# git [git/ae] /.*(error:.*)/ red+bold /.*(warning:.*)/ yellow /.*(hint:.*)/ magenta /.*(up-to-date).*/ green+bold /.*(nothing to commit).*/ green /^(\+.*)/ green /^(-.*)/ red
. . joka toimii hienosti yhdessä alias git="acoc git"
kanssa .bash_profile
.
Kommentit
- Voitteko jakaa
acoc
-asetuksesi? - Nvm, se oli helppo kirjoittaa. 🙂 Lisätty vastaukseen.
vastaus
Tiedän, että viesti on neljä vuotta vanha, mutta kukaan ei vastannut leiristäni, värisokeista. Jos voit erottaa värit, ohita viestini.
”git status” esimerkiksi laittaa tekstin, joka on valkoista taustalla / mustaa valkoisella pohjalla (luettavissa), tummanharmaa poistettavaksi (lukukelvoton mustaa taustaa vasten, mutta luettavaa vastaan) valkoinen tausta) ja keskiharmaa a dded (ohra luettavissa mustalla pohjalla, lukukelvoton valkoisella pohjalla). Minulla oli tapana vaihtaa pääteikkunan tausta valkoiseksi / mustaksi, jotta voisin lukea lukukelvoton teksti. Yksinkertainen ratkaisu on enemmän:
git status | more
Tämä tekee kaiken tekstin luettavaksi tavallisessa valkoisen tai mustan taustan pääteikkunassa.
Kommentit
- Voit myös muuttaa kokoonpanoa ja asettaa kaiken oletusarvoisesti värittömäksi (
color.ui = never
).
Vastaa
Voit värittää git diff
-lähdön lisäämällä color.diff-osion ~ / .gitconfig. Esimerkiksi:
[color "diff"] new = bold italic 154 old = bold italic 196
Täällä 154
ja 196
ovat ANSI 256 värikoodia. Lisätietoja on kohdassa man git config
.
Vastaa
Katso https://github.com/dandavison/delta (git) diff-tuotoksen värilliselle kielen syntaksikorostukselle ja lisätyn / poistetun rivin korostukselle diff .