În acest document, vom analiza în detaliu comanda git config
. Am discutat pe scurt git config
utilizare pe pagina noastră Configurarea unui depozit. Comanda git config
este o funcție de comoditate care este utilizată pentru a seta valorile de configurare Git într-un proiect global sau local Aceste niveluri de configurare corespund fișierelor text .gitconfig
. Executarea git config
va modifica un fișier text de configurare. Vom acoperi setările de configurare comune cum ar fi adresa de e-mail, numele de utilizator și editorul. Vom discuta despre pseudonimele Git, care vă permit să creați comenzi rapide pentru operațiile Git utilizate frecvent. Familiarizarea cu git config
și diversele setări de configurare Git vă vor ajuta să creați un flux de lucru Git puternic și personalizat. .
Utilizare
Cel mai de bază caz de utilizare pentru git config
este invocarea acestuia cu un nume de configurație, care va afișa valoarea setată la acel nume. Numele de configurare sunt șiruri delimitate prin puncte compuse dintr-o „secțiune” și o „cheie” bazate pe ierarhia lor. De exemplu: user.email
În acest exemplu, e-mailul este o proprietate secundară a blocului de configurare a utilizatorului. Aceasta va returna adresa de e-mail configurată, dacă există, pe care Git o va asocia cu confirmările create local.
niveluri și fișiere de configurare git
Înainte de a discuta în continuare despre utilizarea git config
, să luăm un moment pentru a acoperi nivelurile de configurare. Comanda git config
poate accepta argumente pentru a specifica pe ce nivel de configurație să opereze. Sunt disponibile următoarele niveluri de configurare:
-
--local
În mod implicit, git config
va scrie la un nivel local dacă nu este trecută nicio opțiune de configurare. Configurarea la nivel local se aplică depozitului contextual git config
este invocată. Valorile de configurare locală sunt stocate într-un fișier care poate fi găsit în directorul .git al repo: .git/config
-
--global
Configurarea la nivel global este de utilizator specific, adică este aplicat unui utilizator al sistemului de operare. Valorile de configurare globale sunt stocate într-un fișier care se află în directorul de acasă al unui utilizator. ~ /.gitconfig
pe sistemele unix și C:\Users\\.gitconfig
pe Windows
-
--system
Configurarea la nivel de sistem este aplicată pe o întreagă mașină. Aceasta acoperă toți utilizatorii unui sistem de operare și toți repo-urile. Fișierul de configurare la nivel de sistem se află într-un fișier gitconfig
de pe calea rădăcină a sistemului. $(prefix)/etc/gitconfig
pe sistemele unix. Pe Windows, acest fișier poate fi găsit la C:\Documents and Settings\All Users\Application Data\Git\config
pe Windows XP și în C:\ProgramData\Git\config
pe Windows Vista și mai recent.
Astfel ordinea de prioritate pentru nivelurile de configurare este: local, global, sistem. Acest lucru înseamnă că atunci când căutați o valoare de configurație, Git va începe la nivel local și va evolua până la nivelul sistemului.
Scrierea unei valori
Extinderea a ceea ce știm deja despre git config
, să vedem un exemplu în care scriem o valoare:
Acest exemplu scrie valoarea la numele de configurare
user.email
. Folosește steagul --global
astfel încât această valoare este setat pentru utilizatorul actual al sistemului de operare.
editor de configurare git – core.editor
Multe comenzi Git vor lansa un editor de text pentru a solicita introducerea ulterioară. Una dintre cele mai frecvente utilizări cazuri pentru git config
configurează editorul pe care Git ar trebui să îl folosească. Mai jos este un tabel de editori populari și comenzi git config
potrivite:
Instrumentele de îmbinare
În cazul unui conflict de îmbinare, Git va lansa un „instrument de îmbinare”. În mod implicit, Git folosește o implementare internă f programul comun Unix diff. Diferența Git internă este un vizualizator minim de conflicte de îmbinare. Există multe soluții externe de conflict de fuziuni terțe care pot fi utilizate în schimb. Pentru o prezentare generală a diferitelor instrumente și configurații de îmbinare, consultați ghidul nostru despre sfaturi și instrumente pentru rezolvarea conflictelor cu Git.
Ieșiri colorate
Git acceptă ieșirea terminalului colorat care ajută la citirea rapidă a ieșirii Git. Puteți personaliza ieșirea Git pentru a utiliza o temă de culoare personalizată. Comanda git config
este utilizată pentru a seta aceste valori de culoare.
color.ui
Aceasta este variabila master pentru culorile Git. Dacă îl setați la fals, se va dezactiva toate ieșirile terminale colorate ale Git.
În mod implicit, color.ui
este setat la auto, care va aplica culori fluxului de ieșire imediat al terminalului.Setarea automată va omite ieșirea codului de culoare dacă fluxul de ieșire este redirecționat către un fișier sau canalizat către un alt proces.
Puteți seta valoarea color.ui
la întotdeauna care va aplica, de asemenea, ieșirea codului de culoare la redirecționarea fluxului de ieșire către fișiere sau conducte. Acest lucru poate provoca neintenționat probleme, deoarece conducta de recepție poate să nu aștepte o intrare codificată prin culori.
Valorile culorii Git
Pe lângă color.ui
, există multe alte setări de culoare granulară. La fel ca color.ui
, aceste setări de culoare pot fi setate la false, automat sau întotdeauna. Aceste setări de culoare pot avea, de asemenea, un set specific de culoare. Câteva exemple de valori ale culorilor acceptate sunt:
- normal
- negru
- roșu
- verde
- galben
- albastru
- magenta
- cian
- alb
Culorile pot fi de asemenea specificate ca coduri hexadecimale de culoare, cum ar fi # ff0000 sau valori de culoare ANSI 256, dacă terminalul acceptă.
Setări de configurare a culorii Git
color.branch
- Configurează culoarea de ieșire a comenzii ramurilor Git
color.branch.
slot >
- Această valoare se aplică și pentru ieșirea sucursalei Git. slot > este unul dintre următoarele:
- 1. curent: ramura curentă
- 2. local: o sucursală locală
- 3. la distanță: o referință ramificată la distanță în referințe / telecomenzi
- 4. în amonte: o ramură de urmărire în amonte
- 5. simplu: orice altă referință
color.diff
- Aplică culori la
git diff
,git log
și ieșiregit show
color.diff
.slot >
- Configurarea unui slot > valoare sub
color.diff
îi spune git pe ce parte a patch-ului să utilizeze o culoare specifică.- 1. context: Textul contextual al dif. Contextul Git este liniile de conținut text afișate într-o diferență sau un patch care evidențiază modificările.
- 2. simplu: un sinonim pentru context
- 3. meta: aplică culoarea informațiilor meta ale dif.
- 4. frag: aplică culoarea la „antetul hunk” sau la „funcția din antetul hunk”
- 5. vechi: aplică o culoare liniilor eliminate din dif.
- 6. nou: colorează liniile adăugate ale dif.
- 7. commit: culorile commit headers în cadrul dif.
- 8. spațiu alb: setează o culoare pentru orice erori de spațiu alb într-o diferență
color.decorate.
slot >
- Personalizați culoarea pentru ieșirea
git log --decorate
. Valorile slotului > acceptate sunt:branch
,remoteBranch
,tag
,stash
sauHEAD
. Acestea se aplică respectiv sucursalelor locale, sucursalelor de urmărire la distanță, etichetelor, modificărilor ascunse șiHEAD
.
color.grep
- Aplică culoare la ieșirea git grep.
color.grep.
slot >
- Aplicabil și pentru git grep. Variabila slot > specifică ce parte a ieșirii grep să aplice culoarea.
- 1. context: text care nu se potrivește în liniile de context
- 2. nume fișier: prefix nume fișier
- 3. funcție: liniile numelui funcției
- 4. număr de linie: prefixul numărului de linie
- 5. potrivire: potrivire text
- 6. matchContext: potrivirea textului în liniile de context
- 7. matchSelected: potrivirea textului în rândurile selectate
- 8. selectat: text care nu se potrivește în rândurile selectate
- 9. separator: separatoare între câmpurile de pe o linie (:, – și =) și între bucăți (-)
8. color.interactive
- Această variabilă aplică culoarea pentru solicitările și afișajele interactive. Exemple sunt
git add --interactive
șigit clean --interactive
9. color.interactive.slot >
- Variabila slot > poate fi specificată pentru a viza mai specific ” ieșire interactivă „. Valorile slotului > disponibile sunt: prompt, antet, ajutor, eroare; și fiecare acționează pe ieșirea interactivă corespunzătoare.
color.pager
- Activează sau dezactivează ieșirea colorată când pagerul este utilizat
color.showBranch
- Activează sau dezactivează ieșirea de culoare pentru comanda git show branch
12. color.status
- O valoare booleană care activează sau dezactivează ieșirea de culoare pentru starea Git
13. color.status.slot
>
Folosit pentru a specifica culoarea personalizată pentru elementele de stare git specificate. slot > acceptă următoarele valori:
- 1.antet
- Direcționează textul antetului zonei de stare
- 2. adăugat sau actualizat
- Ambele fișiere țintă care sunt adăugate, dar care nu sunt angajate
-
3. changed
- Direcționează fișierele modificate, dar care nu sunt adăugate la indexul git
- 4. netrecut
- Direcționează fișierele care nu sunt urmărite de Git
- 5. ramură
- Aplică culoare ramurii actuale
- 6. nobranch
- Culoarea avertismentului „fără ramură” este afișată în
- 7. nemeritat
- Culorile fișierelor care au modificări nemeritate
Aliasuri
Este posibil să fiți familiarizați cu conceptul de aliasuri din linia de comandă a sistemului dvs. de operare; dacă nu, acestea sunt comenzi rapide personalizate care definesc ce comandă se va extinde la comenzi mai lungi sau combinate. Aliasurile vă economisesc timpul și costul energetic al tastării comenzilor utilizate frecvent. Git oferă propriul sistem alias. Un caz de utilizare obișnuit pentru aliasurile Git este scurtarea comanda commit. Aliasurile Git sunt stocate în fișierele de configurare Git. Aceasta înseamnă că puteți utiliza comanda git config
pentru a configura aliasurile.
Acest exemplu creează un alias ci pentru comanda git commit
. Apoi puteți invoca git commit
executând git ci
. Aliasurile pot face referință și la alte alias-uri pentru a crea combinații puternice.
Acest exemplu creează o modificare a aliasului care compune ci alias într-un nou alias care folosește --amend flag
.
Formatare & spațiu alb
Git are mai multe caracteristici „spațiu alb” care pot fi configurate pentru a evidenția spațiul alb probleme la utilizarea git diff. Problemele cu spațiul alb vor fi evidențiate utilizând culoarea configurată color.diff.whitespace
Următoarele caracteristici sunt activate în mod prestabilit:
-
blank-at-eol
evidențiază spațiile albe orfane la sfârșiturile de linie -
space-before-tab
evidențiază un caracter spațial care apare în fața unui caracter tab atunci când indentează o linie / li> -
blank-at-eof
evidențiază liniile goale inserate la sfârșitul unui fișier
Următoarele caracteristici sunt dezactivate în mod implicit
-
indent-with-non-tab
evidențiază o linie care este indentată cu spații în loc de file -
tab-in-indent
evidențiază o linia inițială a filei ca eroare -
trailing-space
este prescurtată atât pentru blank-at-eol, cât și blank-at-eof -
cr-at-eol highlights
o cărucior-retur la sfârșiturile de linie -
tabwidth=
definește câte poziții de caractere ocupă o filă. Valoarea implicită este 8. Valorile permise sunt 1-63
Rezumat
În acest articol, am acoperit utilizarea git config command
. Am discutat despre modul în care comanda este o metodă de convingere pentru editarea fișierelor brute git config
pe sistemul de fișiere. Ne-am uitat la operațiile de citire și scriere de bază pentru opțiuni de configurare. Am aruncat o privire asupra modelelor de configurare obișnuite:
- Cum se configurează editorul Git
- Cum se anulează nivelurile de configurare
- Cum se resetează valorile implicite ale configurării
- Cum se personalizează culorile git
Per total, git config
este un instrument de ajutor care oferă o comandă rapidă pentru editarea git config
fișiere pe disc. Am acoperit în detaliu opțiunile de personalizare personală. Cunoașterea de bază a opțiunilor de configurare git este o condiție prealabilă pentru configurarea unui depozit. Consultați ghidul nostru pentru o demonstrație a elementelor de bază.