Dove viene scritto git config – globale?

Quando usi git config --global per impostare le cose, a quale file scriver?

Esempio:

 git config --global core.editor "blah" 

Non riesco a trovarlo in questi posti:

 C:\Program Files\Git\etc\gitconfig C:\myapp\.git\config 

Non ho impostato un ENV?

La mia versione Git: 1.6.5.1.1367.gcd48 – su Windows 7

Aggiornamento 2016: con git 2.8 (marzo 2016), puoi semplicemente utilizzare:

 git config --list --show-origin 

Vedrai quale configurazione è impostata dove.
Vedi “Da dove vengono le impostazioni nella configurazione di Git? ”

Come sottolinea Steven Vascellaro nei commenti ,

funzionerà con posizioni di installazione non standard. (es. Git Portable )

(come l’ultimo PortableGit-2.14.2-64-bit.7z.exe , che può essere decompresso ovunque tu voglia)


Risposta originale (2010)

Dai documenti :

–globale

Per le opzioni di scrittura: scrivere nel file global ~/.gitconfig piuttosto che nel repository .git/config .

Dato che stai usando Git per Windows , potrebbe non essere chiaro a quale posizione corrisponde. Ma se guardi etc / profile (in C:\Program Files\Git ), vedrai:

 HOME="$HOMEDRIVE$HOMEPATH" 

Senso:

 C:\Users\MyLogin 

(su Windows 7)

Ciò significa che il file si trova in C:\Users\MyLogin\.gitconfig per Git in Windows 7.

Stavo anche cercando il file .gitconfig globale sulla mia macchina Windows e ho trovato questo ottimo trucco usando git.

Fai un: git config --global -e e poi, se sei fortunato, riceverai un editor di testo caricato con il tuo file globale .gitconfig . Basta cercare la cartella da lì (o provare a salvare come …), et voilà! 🙂

Su * nix, è in ~/.gitconfig . C’è un file corrispondente nella tua casa?

Su Windows puoi digitare git bash

 notepad ~/.gitconfig 

I percorsi per msysgit sono:

Windows XPC:\Documents and Settings\\.gitconfig

Windows Vista + C:\Users\\.gitconfig

La posizione globale viene derivata, in Windows MsysGit, utilizzando le variabili di ambiente HOMEDRIVE e HOMEPATH, a meno che non sia stata definita una variabile di ambiente HOME. Lo è dettagliato nello script ‘profile’.

Nel mio ambiente aziendale HOMEDRIVE è H :, che viene quindi mappato a un URL di rete \\ share \ $. L’intero lotto viene quindi mappato per essere “I miei documenti”, che non è quello in cui altri si aspetterebbero. Potrebbero esserci stati ulteriori problemi con l’unità alla rimapping degli URL. Non riesco nemmeno ad aggiustare le variabili HOMEDRIVE o HOMEPATH.

Nel mio caso ho definito una variabile di ambiente HOME personale e l’ho indirizzata a D: \ git \ GitHOME e ho copiato tutti i file GIT (che sono senza e l’estensione) nella directory GitHOME per sicurezza.

Le variabili di ambiente di Windows possono essere impostate tramite la scheda Avanzate nella finestra di dialogo Proprietà del mio computer.

Se si utilizza TortoiseGit su un PC Windows è ansible utilizzare:

 Settings / Git / Config / Edit global .gitconfig 

per aprire il file .gitignore globale.

Ma se usi il tuo PC Windows (7) in un dominio, la tua dir del profilo potrebbe essere una condivisione di rete (montata come unità). In questo caso TortoiseGit (almeno: 1.6.5.0) ti sta indirizzando alla directory sbagliata (su c: …). Per ulteriori informazioni, consultare il problema TortoiseGit 922 . O utilizzando% HOMEDRIVE %% HOMEPATH% per aprire la directory che contiene il file .gitignore.

Sto usando SmartGit con msysgit su Windows 8.1 e ho notato che ci sono tre diverse posizioni per il file gitconfig :

 C:\Users\name\.gitconfig C:\Program Files (x86)\Git\etc\gitconfig C:\Program Files (x86)\SmartGitHg\git\etc\gitconfig 

Ma quello che viene utilizzato è quello di ” C:\Users\name\.gitconfig “.

Potrebbe essere utile notare (per piattaforms * nix): alcuni tipi di configurazione / informazioni git globali sono memorizzati in /usr/share/git-core/ , come gli script di autocompletion git e i seguenti hook (predefiniti):

  • applypatch-msg
  • post-aggiornamento
  • pre-commit
  • Prepare-commit-msg
  • commit-msg
  • pre-applypatch
  • pre-rebase
  • aggiornare

Ognuno di questi può contenere il proprio set di comandi da eseguire, al momento descritto dai rispettivi nomi di file.

Ho avuto anche un problema con il mio globale .gitconfig Questo è per il caso che qualcuno abbia anche questo strano

ha detto:

fatale: si è verificato un errore sconosciuto durante la lettura dei file di configurazione

Ora l’ho risolto Il problema era un secondo .gitconfig in questa cartella:

C: \ Users \ myUser.config \ git \ config

Non so da dove viene … Ma ora tutto funziona di nuovo come un vero fascino.

Puoi trovarlo usando il seguente comando

 git config --list --show-origin 

inserisci la descrizione dell'immagine qui

Sto usando Windows 7 e uso git come setup seguendo le istruzioni su GitHub (un anno o due dietro). Un caso d’uso piuttosto comune avrei pensato. Nessuna delle risposte di cui sopra mi ha aiutato e, dopo molte frustrazioni, ho finalmente trovato il mio file “vero” gitconfig nella seguente directory;

C: \ Users \ Bill \ AppData \ Local \ GitHub \ PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef \ etc

Ovviamente sostituisci il tuo nome utente e presumibilmente il suffisso dopo che PortableGit_ è un GUID univoco o simile.

Disinstallare Msysgit e installare Cygwin + Git. Quindi ‘.gitconfig’ globale sarà qui: C: \ cygwin (64) \ home \ [userName] \. Gitconfig.

Ora non devi preoccuparti di una variabile d’ambiente che potrebbe essere utilizzata da altri programmi. Ad esempio, la mia variabile di ambiente mi ha indirizzato verso un’unità mappata nel mio ambiente di dominio Windows di lavoro. Non voglio il mio globale .gitconfig seduto sulla mia unità mappata “domestica”. Inoltre, non so cosa potrebbe accadere ad altre applicazioni che potrebbero fare affidamento su quella variabile di ambiente di Windows. La divisione operazioni potrebbe aver bisogno che la variabile di ambiente impostata sull’unità mappata per un motivo.

Inoltre, non devi preoccuparti che Mysysgit sovrascriva le tue impostazioni di configurazione del “profilo” se specifichi un percorso specifico per “.gitconfig” globale, usando questo metodo.

In generale, salva te stesso e usa cygwin bash shell in Windows e sii felice

Quando viene creato il file .gitconfig globale?

Prima di tutto, git non crea automaticamente il file di configurazione globale (.gitconfig) durante la sua installazione. Il file non viene creato fino a quando non viene scritto per la prima volta. Se non hai mai impostato una variabile di sistema, non sarà sul tuo file system. Immagino che potrebbe essere la fonte del problema.

Un modo per chiedere a Git di crearlo è richiedere una modifica. Fare così costringerà la creazione del file.

git config – global –edit

Se si monitora la cartella home dell’utente quando si esegue questo comando, verrà visualizzato magicamente il file .gitconfig.

Dove è archiviata la configurazione git?

Ecco una breve panoramica del nome e della posizione dei file di configurazione associati ai tre ambiti Git, vale a dire sistema , globale e locale :

  • Configurazione di Git di sistema: file denominato gitconfig ubicato in -git-install-location- / ming <32> / etc
  • Global Git configuraiton: File denominato .gitconfig situato nella cartella home dell’utente (C: \ Users \ git user)
  • Configurazione Git locale: file denominato config nella cartella .git del repository locale

Ovviamente, vedere è credere, quindi ecco un’immagine che mostra ogni file e ogni posizione. Ho estratto l’immagine da un articolo che ho scritto sull’argomento.

Posizioni dei file di configurazione di Git di Windows (TheServerSide.com)

Posizione dei file di configurazione Git

Ho avuto un problema simile; il problema era che il file .gitconfig si trovava in

 C:\Users\MyLogin\.gitconfig\ 

(su Windows 7)

In altre parole, il file si trovava in C:\Users\MyLogin\.gitconfig\.gitconfig , invece che su C:\Users\MyLogin\.gitconfig (che è dove Git stava cercando i file).