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äsin branch = 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 (johon auto 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äätelaitteeseen less -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 .

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *