Où faire les réglages dans ma configuration Git viennent?
J'ai remarqué que j'ai deux entrées pour core.autocrlf
quand je lance git config -l
$ git config -l
core.symlinks=false
core.autocrlf=false
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=name
[email protected]
core.autocrlf=true
Ces trois derniers (à partir de l'utilisateur.nom en bas) sont les seuls dans mon C:\users\username\.gitconfig
fichier. Où sont tous les autres à venir? Pourquoi est-core.autocrlf répertorié deux fois?
C'est avec MSysGit 1.8.3, et j'ai aussi Sourcetree installé (Windows 7). Dans Sourcetree, j'ai décoché la case "Autoriser Sourcetree de modifier vos Git config files"
- Remarque: avec git 2.8 (Mars 2016) et
git config --list --show-origin
, vous n'aurez pas à vous de deviner lequel git config est là. Voir ma réponse ci-dessous
Vous devez vous connecter pour publier un commentaire.
Git contrôles de quatre places pour un fichier de configuration:
.gitconfig
fichier..gitconfig
fichier situé à~/.gitconfig
.$XDG_CONFIG_HOME/git/config
ou$HOME/.config/git/config
..git/config
.Les paramètres en cascade dans l'ordre suivant, avec chaque fichier ajout ou remplacement de paramètres définis dans le fichier ci-dessus il.
Vous pouvez voir ce que chaque fichier est défini en utilisant les commandes suivantes:
Vous pouvez voir ce qui vient de l'référentiel spécifique de fichier définis par l'ouverture du fichier
.git/config
pour ce dépôt.Si vous utilisez MSysGit sur Windows, vous trouverez probablement votre utilisateur
~/.gitconfig
fichier où jamais%homepath%
points à si vous utilisezecho %homepath%
à partir d'une invite de commande Windows.De la documentation de
git config
:.gitconfig
fichier" quand on est sur Windows avec msysgit?C:\Program Files (x86)\Git\etc\gitconfig
. Vous ne savez pas si c'est un bien.C:\Program Files\Git\mingw64\etc\gitconfig
Vous n'avez pas à deviner plus config qui a été mis de là où, avec git 2.8! (Mars 2016)
Voir s'engager 70bd879, s'engager 473166b, s'engager 7454ee3, s'engager 7454ee3 (19 Février 2016), s'engager 473166b, s'engager 7454ee3 (19 Février 2016), s'engager 7454ee3 (19 Février 2016), et s'engager a0578e0 (17 Février 2016) par Lars Schneider (
larsxschneider
).(Fusionnés par Junio C Hamano --
gitster
-- dans s'engager dd0f567, 26 Février 2016)La
git config
de la page de manuel maintenant indique:Par exemple:
Qui sera de retour:
Pour un paramètre, comme commenté par wisbucky:
user.cmdline=true
est nécessaire pour--show-origin
de travail? Aussi, j'ai remarqué que--show-origin
doit être immédiatement aprèsconfig
afin de travailler avec--get
et--get-all
. Il devrait donc être... config --show-origin --get-all core.autocrlf
-c 'user.cmdline=true'
bits, ce qui semble renvoyer à des test de portée: github.com/git/git/blob/...user.cmdline=true
était nécessaire Git 2.13, mais ne sont plus nécessaires dans Git 2.15.Après l'avoir au préalable installé Git pour Windows et par la suite de procéder à la désinstallation, j'ai trouvé qu'il y a un fichier de configuration installé à
C:\Users\All Users\Git\config
qui est un système de fichier de configuration au niveau qui persiste et s'appliquera à tous les futurs MinGW32 Git paquets (dans mon cas, j'ai été l'exécution d'un portable MinGW32 Git package fourni par mon entreprise). Quand j'ai couruqu'il allait me montrer le système de fichier de configuration situé
au
mingw32/etc/gitconfig
, mais il serait encore charger les valeurs de la première de l'emplacement ainsi. C'était présenté comme un avertissement que les valeurs de configuration sont affrontés lors de l'utilisation de Git EFT.(Note: cela peut aussi être une situation où EFT avertissements sont en train d'être trop autoritaire, #861)
Vous pouvez utiliser
--show-origin
afin de trouver les configurations viennent.Fichiers de Configuration de la priorité du dépôt Git pour Windows:
Source: https://github.com/git-for-windows/git/blob/master@%7B2018-01-07%7D/Documentation/git-config.txt#L231
$PROGRAMDATA
est une variable d'environnement. Vous pouvez obtenir la valeur de ces variables comme ceci:Dans Git Bash, vous devez utiliser
echo "$ProgramData"
.Dans CMD, vous devez utiliser
echo %PROGRAMDATA%
.Notez que Git Bash apparemment prétend que les variables d'environnement sont sensibles à la casse.
Qu'est-ce que
$(prefix)
?Le préfixe est le répertoire de niveau supérieur dans lequel les choses se sont installés. Dans Git pour Windows, qui est soit
<some-path>/mingw64
ou<some-path>/mingw32
.git config -l
affiche toutes les valeurs héritées du système, global et local.Si vous avez un autre fichier de configuration quelque part qui est chargé avec votre définis par l'utilisateur
.gitconfig
fichier.Une réponse complète pour Windows (c'est à dire une version Windows de la accepté de répondre):
Comme Linux, Windows a quatre niveaux de fichiers de configuration/paramètres et trois sont directs équivalents. La chose importante à noter est que l'autre - le " Toutes les Applications/Utilisateurs un en particulier car c'est là où le programme d'installation des ensembles de valeurs, par exemple de base.autocrlf = true', et pourtant il ne peut pas être accessible à partir de la ligne de commande de sorte qu'il provoque de la confusion.
Toutes les Applications et les Utilisateurs
C'est comme une version partagée du "système" paramètres dans le cas où vous avez plusieurs Git applications installées. Il n'y a pas de "git config' de commande pour accéder à ces derniers, mais ils continuent à avoir un impact sur le résultat net d'un paramètre.
Emplacement du fichier de Configuration:
C:\ProgramData\Git\config
(Note que "ProgramData" était "Tous les Utilisateurs" sur les anciennes versions de Windows.)
Système
Emplacement du fichier de Configuration:
C:/Program Fichiers/Git/mingw64/etc/gitconfig
Utilisateur
Emplacement du fichier de Configuration:
%USERPROFILE%.gitconfig
(Cela résout à " C:/Users/<nom d'utilisateur>')
Référentiel
Emplacement du fichier de Configuration:
[référentiel actuel répertoire]/.git/config
Sur Windows 7 (peut-être le même ou similaire pour Windows 10), Visual Studio et le Git en ligne de commande, votre configuration globale est:
(dot est en face du nom du fichier)
Mais ce n'est pas honoré par Sourcetree, au moins dans Git mode Incorporé, et la configuration est:
(pas de point devant le nom de fichier)
(J'avais besoin de mettre à jour les deux fichiers à modifier mes Git paramètres pour la commande Git et Sourcetree.)
Une autre partie amusante. Le Git crochets de configuration de la
AppData\Local\...
emplacement, mais après plus de recherche via Le Moniteur De Processus, j'ai remarqué quelque sorte Sourcetree est également le chargement global de société, lecteur mappé pour mon utilisateur.Cela fait très peu de sens que de très peu d'applications de recherche de cet endroit, mais de toute façon Sourcetree fait, donc si vous ne pouvez pas vous rendre au travail par les paramètres de localisation à Sourcetree, exécutez le Moniteur de Processus et de créer une règle pour vous connecter seule voie contenant de l'gitconfig, et vous pouvez trouver où vraiment votre configuration globale est dans le cas d'un réseau mappé répertoire de l'utilisateur.
Et cela peut ne pas être encore la faute de Sourcetree, comme je le vois maintenant que je vous écris ce qu'git.exe est en cours de chargement, mais cela se produit uniquement pour les git.exe exécuté par Sourcetree, tout en directe ligne de commande Git utilise
%USERPROFILE%\.gitconfig
Enfin j'ai pris tous les résultats du Processus de surveillance, de la fed dans SQL Server et exécuté une requête pour obtenir des résultats distincts (aucun ordre d'exécution juste triés par chemin de):
Je ne sais pas comment ces configurations se rapportent les uns aux autres, mais je sais que certains substituer un autre quelques travaux de paramètres à partir d'un emplacement de certains de l'autre.
Et de la liste ci-dessus est appelé par Sourcetree, encore une fois directe d'une ligne de commande Git semble bien fonctionner avec
%USERPROFILE%\.gitconfig
, et qui n'est pas sur cette liste, mais il devrait ressembler à ceci (sur Windows 7 )C:\Users\pawel.cioch\.gitconfig
Si vous voulez trouver pour trouver l'emplacement de fichier réel, il sera dans votre répertoire home.
Il est caché et précédé par un ".".
Donc, si vous êtes sur Mac, dans votre terminal, vous pouvez
cd ~ && open .gitconfig
ou de l'ouvrir avec votre éditeur de texte favori, e.gcd ~ && atom .gitconfig
.