Su Windows 7 (forse lo stesso o simile per Windows 10), per Visual Studio e la riga di comando Git, la tua configurazione globale è in:
%USERPROFILE%\.gitconfig
(il punto è davanti al nome del file)
Ma questo non è onorato da Sourcetree, almeno in modalità Git Embedded, e la configurazione è in:
%USERPROFILE%\AppData\Local\Atlassian\SourceTree\git_local\mingw32\etc\gitconfig
(nessun punto davanti al nome del file)
(Avevo bisogno di aggiornare entrambi i file per modificare le mie impostazioni Git globali per il comando Git e Sourcetree.)
Un'altra parte divertente. La configurazione degli hook di Git funzionava dalla AppData\Local\...
posizione, ma dopo ulteriori ricerche tramite Process Monitor , ho notato che in qualche modo Sourcetree sta caricando anche globale dall'unità mappata dell'azienda per il mio utente.
Questo non ha molto senso poiché pochissime applicazioni cercano questa posizione, ma in qualche modo Sourcetree lo fa, quindi se non riesci a farlo funzionare in base alle impostazioni della posizione su Sourcetree, esegui Process Monitor e crea una regola per registrare solo il percorso contenente gitconfig, e tu può trovare dove si trova realmente la tua configurazione globale nel caso di una directory utente mappata in rete.
E questo potrebbe non essere nemmeno colpa di Sourcetree, come vedo ora mentre scrivo che git.exe lo sta caricando, ma questo accade solo per git.exe eseguito da Sourcetree, mentre una riga di comando diretta Git utilizza %USERPROFILE%\.gitconfig
Alla fine ho preso tutti i risultati da Process Monitor, li ho inseriti in SQL Server ed ho eseguito una query per ottenere risultati distinti (nessun particolare ordine di esecuzione ordinato solo per percorso):
Non so come queste configurazioni si relazionano tra loro, ma so che alcune sovrascrivono un altro, alcune impostazioni funzionano da una posizione e altre.
E l'elenco sopra viene richiamato da Sourcetree , di nuovo una riga di comando diretta con Git sembra funzionare bene %USERPROFILE%\.gitconfig
, e non è in questo elenco, ma sarebbe simile a questo (su Windows 7)C:\Users\pawel.cioch\.gitconfig
git config --list --show-origin
, non dovrai indovinare quale git config è dove. Vedi la mia risposta di seguito