git config (Italiano)

In questo documento, daremo uno sguardo approfondito al comando git config. Abbiamo discusso brevemente di git config utilizzo nella nostra pagina Configurazione di un repository. Il comando git config è una comoda funzione che viene utilizzata per impostare i valori di configurazione Git su un progetto globale o locale livello. Questi livelli di configurazione corrispondono a .gitconfig file di testo. L’esecuzione di git config modificherà un file di testo di configurazione. Tratteremo le impostazioni di configurazione comuni come email, nome utente ed editor. Discuteremo degli alias Git, che ti consentono di creare scorciatoie per operazioni Git utilizzate di frequente. Acquisire familiarità con git config e le varie impostazioni di configurazione di Git ti aiuterà a creare un flusso di lavoro Git potente e personalizzato .

Utilizzo

Il caso d’uso più elementare di git config è invocarlo con un nome di configurazione, che mostrerà il valore impostato in quel nome. I nomi di configurazione sono stringhe delimitate da punti composte da una “sezione” e una “chiave” in base alla loro gerarchia. Ad esempio: user.email

 

In questo esempio, la posta elettronica è una proprietà figlia del blocco di configurazione utente. Ciò restituirà l’indirizzo di posta elettronica configurato, se presente, che Git assocerà ai commit creati localmente.

livelli e file di configurazione git

Prima di discutere ulteriormente l’utilizzo di git config, prendiamoci un momento per trattare i livelli di configurazione. Il comando git config può accettare argomenti per specificare su quale livello di configurazione operare. Sono disponibili i seguenti livelli di configurazione:

  • --local

Per impostazione predefinita, git config scriverà a livello locale se non viene passata alcuna opzione di configurazione. La configurazione a livello locale viene applicata al repository di contesto git config viene richiamato. I valori di configurazione locale sono memorizzati in un file che può essere trovato nella directory .git del repository “s: .git/config

  • --global

La configurazione a livello globale è utente- specific, nel senso che viene applicato a un utente del sistema operativo. I valori di configurazione globale sono memorizzati in un file che si trova nella directory home di un utente. ~ /.gitconfig su sistemi unix e C:\Users\\.gitconfig su Windows

  • --system

La configurazione a livello di sistema viene applicata a un’intera macchina. Questo copre tutti gli utenti su un sistema operativo e tutti i repository. Il file di configurazione a livello di sistema risiede in un file gitconfig fuori dal percorso root del sistema. $(prefix)/etc/gitconfig su sistemi unix. Su Windows questo file si trova in C:\Documents and Settings\All Users\Application Data\Git\config su Windows XP e in C:\ProgramData\Git\config su Windows Vista e versioni successive.

Quindi l’ordine di priorità per i livelli di configurazione è: locale, globale, sistema. Ciò significa che quando si cerca un valore di configurazione, Git inizierà a livello locale e si espanderà fino a livello di sistema.

Scrittura di un valore

Espandendo ciò che già sappiamo su git config, guardiamo un esempio in cui scriviamo un valore:

 

Questo esempio scrive il valore al nome della configurazione user.email. Utilizza il flag --global quindi questo valore è impostato per l’utente corrente del sistema operativo.

git config editor – core.editor

Molti comandi Git lanceranno un editor di testo per richiedere ulteriori input. Uno degli usi più comuni casi per git config sta configurando quale editor Git dovrebbe utilizzare. Di seguito è elencata una tabella di editor popolari e comandi git config corrispondenti:

Strumenti di unione

In caso di conflitto di unione, Git avvierà uno “strumento di unione”. Per impostazione predefinita, Git utilizza un’implementazione interna o f il comune programma diff di Unix. Il diff interno di Git è un visualizzatore di conflitti di unione minimo. Esistono molte risoluzioni di conflitti di unione di terze parti esterne che possono essere utilizzate in alternativa. Per una panoramica dei vari strumenti di unione e configurazione, consulta la nostra guida su suggerimenti e strumenti per risolvere conflitti con Git.

Output colorati

Git supporta l’output del terminale colorato che aiuta a leggere rapidamente l’output di Git. Puoi personalizzare l’output di Git per utilizzare un tema colore personalizzato. Il comando git config viene utilizzato per impostare questi valori di colore.

color.ui

Questa è la variabile principale per i colori Git. Impostandolo su false si disabiliterà l’output del terminale colorato di Git.

 

Per impostazione predefinita, color.ui è impostato su auto che applicherà i colori al flusso di output del terminale immediato.L’impostazione automatica ometterà l’output del codice colore se il flusso di output viene reindirizzato a un file o reindirizzato a un altro processo.

Puoi impostare il valore color.ui su sempre quale applicherà anche l’output del codice colore quando reindirizza il flusso di output a file o pipe. Ciò può causare involontariamente problemi poiché la pipe ricevente potrebbe non aspettarsi un input con codice colore.

Valori di colore Git

Oltre a color.ui , ci sono molte altre impostazioni di colore granulari. Come color.ui, queste impostazioni di colore possono essere tutte impostate su false, auto o sempre. Queste impostazioni di colore possono anche avere un valore di colore specifico impostato. Alcuni esempi di valori di colore supportati sono:

  • normale
  • nero
  • rosso
  • verde
  • giallo
  • blu
  • magenta
  • ciano
  • bianco

I colori possono anche essere specificati come codici colore esadecimali come # ff0000 o valori di colore ANSI 256 se il tuo terminale lo supporta.

Impostazioni di configurazione del colore Git

color.branch

  • Configura il colore di output del comando Git branch

color.branch. slot >

  • Questo valore è applicabile anche all’output del ramo Git. slot > è uno dei seguenti:
    • 1. current: il ramo corrente
    • 2. locale: una filiale locale
    • 3. remote: un riferimento di ramo remoto in refs / remotes
    • 4. upstream: un ramo di monitoraggio a monte
    • 5. plain: qualsiasi altro riferimento

color.diff

  • Applica i colori a git diff, git log e git show output

color.diff .slot >

  • Configurazione di uno slot > il valore in color.diff indica a git su quale parte della patch utilizzare un colore specifico.
    • 1. contesto: il testo contestuale del diff. Il contesto Git è costituito dalle righe di contenuto di testo mostrato in un diff o in una patch che evidenzia le modifiche.
    • 2. plain: sinonimo di contesto
    • 3. meta: applica il colore alle meta informazioni del diff
    • 4. frag: applica il colore all ‘”intestazione del pezzo” o alla “funzione nell’intestazione del pezzo”
    • 5. vecchio: applica un colore alle linee rimosse nel diff
    • 6. nuovo: colora le linee aggiunte del diff
    • 7. commit: colori commit intestazioni all’interno del diff
    • 8. whitespace: imposta un colore per eventuali errori di spazi in un diff

color.decorate. slot >

  • Personalizza il colore per l’output git log --decorate. I valori dello slot > supportati sono: branch, remoteBranch, tag, stash o HEAD. Sono applicabili rispettivamente a rami locali, rami di monitoraggio remoto, tag, modifiche nascoste e HEAD.

color.grep

  • Applica il colore all’output di git grep.

color.grep. slot >

  • Applicabile anche a git grep. La variabile slot > specifica quale parte dell’output di grep applicare il colore.
    • 1. contesto: testo non corrispondente nelle righe di contesto
    • 2. nomefile: prefisso del nome file
    • 3. funzione: righe del nome della funzione
    • 4. numero di lino: prefisso del numero di riga
    • 5. match: testo corrispondente
    • 6. matchContext: corrispondenza del testo nelle righe di contesto
    • 7. matchSelected: corrispondenza del testo nelle righe selezionate
    • 8. selezionato: testo non corrispondente nelle righe selezionate
    • 9. separator: separatori tra i campi su una riga (:, – e =) e tra hunk (-)

8. color.interactive

  • Questa variabile applica il colore a prompt e display interattivi. Esempi sono git add --interactive e git clean --interactive

9. color.interactive.slot >

  • La variabile slot > può essere specificata per targetizzare in modo più specifico ” output interattivo “. I valori disponibili per lo slot > sono: prompt, header, help, error; e ciascuno agisce sull’output interattivo corrispondente.

color.pager

  • Abilita o disabilita l’output colorato quando il paginatore è in uso

color.showBranch

  • Abilita o disabilita l’output a colori per il comando git show branch

12. color.status

  • Un valore booleano che abilita o disabilita l’output a colori per lo stato di Git

13. color.status.slot >

Utilizzato per specificare il colore personalizzato per gli elementi di stato git specificati. slot > supporta i seguenti valori:

  • 1.header
    • Ha come destinazione il testo dell’intestazione dell’area di stato
  • 2. aggiunti o aggiornati
    • Entrambi i file di destinazione aggiunti ma non sottoposti a commit
  • 3. changed
    • Ha come destinazione i file modificati ma non aggiunti all’indice git
  • 4. untracked
    • Target di file non tracciati da Git
  • 5. ramo
    • Applica il colore al ramo corrente
  • 6. nobranch
    • Il colore dell’avviso “nessun ramo” è mostrato in
  • 7.
    • File di colori che hanno modifiche non unite

Alias

Potresti avere familiarità con il concetto di alias da la riga di comando del sistema operativo; in caso contrario, sono scorciatoie personalizzate che definiscono quale comando si espanderà in comandi più lunghi o combinati. Gli alias ti fanno risparmiare il tempo e il costo energetico della digitazione dei comandi usati di frequente. Git fornisce il proprio sistema di alias. Un caso d’uso comune per gli alias Git è l’accorciamento il comando commit. Gli alias Git sono memorizzati nei file di configurazione di Git. Ciò significa che puoi utilizzare il comando git config per configurare gli alias.

 

Questo esempio crea un alias ci per il comando git commit. Puoi quindi richiamare git commit eseguendo git ci. Gli alias possono anche fare riferimento ad altri alias per creare potenti combo.

 

Questo esempio crea un alias edit che compone il ci alias in un nuovo alias che utilizza --amend flag.

Formattazione & spazi bianchi

Git ha diverse funzioni di “spazi bianchi” che possono essere configurate per evidenziare gli spazi problemi quando si utilizza git diff. I problemi di spazi saranno evidenziati utilizzando il colore configurato color.diff.whitespace

Le seguenti funzioni sono abilitate per impostazione predefinita:

  • blank-at-eol evidenzia gli spazi bianchi orfani alle estremità di riga
  • space-before-tab evidenzia uno spazio che appare prima di un carattere di tabulazione quando si fa rientrare una riga
  • blank-at-eof evidenzia le righe vuote inserite alla fine di un file

Le seguenti funzionalità sono disabilitate per impostazione predefinita

  • indent-with-non-tab evidenzia una riga rientrata con spazi invece che con tabulazioni
  • tab-in-indent evidenzia un il rientro di tabulazione iniziale come errore
  • trailing-space è una scorciatoia per blank-at-eol e blank-at-eof
  • cr-at-eol highlights un ritorno a capo alla fine della riga
  • tabwidth= definisce quante posizioni di carattere occupa una tabulazione. Il valore predefinito è 8. I valori consentiti sono 1-63

Riepilogo

In questo articolo, abbiamo trattato l’uso di git config command. Abbiamo discusso di come il comando sia un metodo convincente per modificare i file git config grezzi sul filesystem. Abbiamo esaminato le operazioni di lettura e scrittura di base per le opzioni di configurazione. Abbiamo esaminato i modelli di configurazione comuni:

  • Come configurare l’editor Git
  • Come sovrascrivere i livelli di configurazione
  • Come ripristinare i valori predefiniti di configurazione
  • Come personalizzare i colori di git

Nel complesso, git config è uno strumento di supporto che fornisce una scorciatoia per modificare git config file su disco. Abbiamo trattato in modo approfondito le opzioni di personalizzazione personale. La conoscenza di base delle opzioni di configurazione di git è un prerequisito per la configurazione di un repository. Consulta la nostra guida per una dimostrazione delle nozioni di base.

Write a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *