Comment afficher ma configuration globale de Git?

1076

Je voudrais montrer toutes les sections Git configurées.

Je n'ai trouvé git config --get core.editoret j'aimerais sortir tout ce qui est configuré globalement, pas seulement l'éditeur par défaut configuré.

wullxz
la source
3
Quel est le problème en regardant .gitconfig?
Tour
1
Notez que vous aurez bientôt (Q3 / Q4 2015) avec git 2.6 l'option --name-only, de ne lister que les clés de configuration, sans leurs valeurs. Voir ma réponse ci
VonC
41
$ git config --list Vérification de vos paramètres
TarranJones
5
Cela devrait être git config --global --listcomme expliqué plus en profondeur ici
prosti

Réponses:

1723

Vous pouvez utiliser:

git config --list

ou regardez votre ~/.gitconfigdossier. La configuration locale sera dans le .git/configfichier de votre référentiel .

Utilisation:

git config --list --show-origin

pour voir où ce paramètre est défini (global, utilisateur, repo, etc ...)

Cameron Skinner
la source
24
Merci, j'ai voté pour vous deux. Je voulais savoir la git config --listcommande parce que je peux regarder la config efficace dans un référentiel et je peux varier locale, la configuration globale et le système avec le paramètre approprié ( --global, --local, --system). J'accepterai votre réponse dès que je pourrai parce que vous étiez quelques secondes plus rapide :)
wullxz
2
Attention, il existe de nombreuses sources potentielles pour la configuration de git. L'examen du fichier ne donne qu'une partie. La réponse de @ linquize est en fait correcte.
vonbrand
2
@vonbrand: --list est équivalent à -l.
Cameron Skinner
9
Les raccourcis (comme -l) sont utiles lorsque vous devenez un utilisateur avancé et utilisez la fonctionnalité assez souvent, pour profiter réellement de la saisie de moins de caractères. Je trouve plus facile de trouver et de mémoriser l' --listoption longue . Pour les raccourcis moins évidents, je dois souvent vérifier ce qu'ils représentent, donc je préfère les noms longs. Ils sont encore plus faciles, avec l'achèvement de la commande, lorsque vous n'avez pas vraiment besoin de taper tous les caractères, mais que vous voyez toujours le nom complet de l'option.
Krzysztof Jabłoński
1
Et si git config --listrien ne s'imprime?
Matej J
247

Le plus court,

git config -l

affiche toutes les valeurs héritées de: système, global et local

linquize
la source
13
Est-ce que cela diffère de git config --list , ou est-ce juste un moyen plus court de l'écrire?
Magnilex
8
@Magnilex c'est juste un moyen plus court de l'écrire
LemenDrop
3
Les fichiers de configuration peuvent ne pas toujours afficher toutes les configurations héritées, mais git config -lafficheront tout. M'a sauvé car git for windows définit autocrlfl'installation, et ce n'est dans aucun fichier de configuration que je puisse trouver.
geneorama
oui, il y a aussi le fichier C: \ ProgramData \ Git \ config - je suppose que c'est un fichier de configuration git global ou système
Alex
129

Comment modifier ma configuration globale de Git?

Réponse courte: git config --edit --global


Pour comprendre la configuration de Git, vous devez savoir que:

Les variables de configuration Git peuvent être stockées à trois niveaux différents. Chaque niveau remplace les valeurs du niveau précédent.

1. Niveau système (appliqué à chaque utilisateur du système et à tous ses référentiels)

  • pour voir, git config --list --system(peut-être besoin sudo)
  • mettre en place, git config --system color.ui true
  • pour modifier le fichier de configuration du système, git config --edit --system

2. Niveau global (valeurs spécifiques à vous, l'utilisateur).

  • regarder, git config --list --global
  • mettre en place, git config --global user.name xyz
  • pour modifier le fichier de configuration global, git config --edit --global

3. Niveau du référentiel (spécifique à ce référentiel unique)

  • regarder, git config --list --local
  • à régler, git config --local core.ignorecase true( --localfacultatif)
  • pour modifier le fichier de configuration du référentiel, git config --edit --local( --localfacultatif)

Comment afficher tous les paramètres?

  • Run git config --list, montrant le système , global , et (si) à l' intérieur d' un dépôt locaux configs
  • Exécuter git config --list --show-origin, affiche également le fichier d'origine de chaque élément de configuration

Comment lire une configuration particulière?

  • Courez git config user.namepour obtenir user.name, par exemple.
  • Vous pouvez également spécifier des options --system, --global, --localà lire cette valeur à un niveau particulier.

Référence: 1.6 Mise en route - Première configuration de Git

kgf3JfUtW
la source
1
git config --listmontrer tout global, système et local? j'ai besoin d'affirmation :)
Adi Prasetyo
2
juste pour ajouter où se trouvent les fichiers de configuration: Système: C: \ ProgramData \ Git \ config (sous Windows). Global: C: \ Users \ user \ .gitconfig (Windows) ~ / .gitconfig (Linux) Local: project-repo / .git / config
Alex
@AdiPrasetyo Oui. Vous pouvez exécuter git config --list --show-originpour découvrir l'origine de chaque élément de configuration.
kgf3JfUtW
109
git config --list

est une façon de procéder. En général, je m'ouvre simplement .gitconfig.

Tour
la source
2
Avez-vous l'intention ~/.gitconfigou l'un des autres fichiers mentionnés dans la section FICHIERS de git help config?
chwarr
1
@chwarr - Désolé, je ne comprends pas. Avais-je "l'intention"?
Tour
1
Je pense que vous vouliez dire "je n'ouvre que d'habitude ~/.gitconfig.", Car git ne cherche pas .gitconfigdans le répertoire courant, où que vous soyez. ( .gitconfiget ~/.gitconfignommez différents fichiers [ généralement ].) Les autres fichiers mentionnés dans git help configont des noms de fichiers différents, d'où l'hypothèse.
chwarr
32

Vous pouvez également appeler git config -epour ouvrir directement le fichier de configuration dans votre éditeur. Le fichier de configuration Git est beaucoup plus lisible que la -lsortie, donc j'ai toujours tendance à utiliser l' -eindicateur.

Donc, pour résumer:

git config -l  # List Git configuration settings (same as --list)
git config -e  # Opens Git configuration in the default editor (same as --edit)
  • Sans paramètres, il interagit avec le local .git/config.
  • Avec --globalelle interagit avec ~/.gitconfig.
  • Et avec --systemelle interagit avec $(prefix)/etc/gitconfig.

(Je n'ai pas vraiment pu trouver ce que cela $(prefix)signifie, mais il semble que ce soit par défaut $HOME.)

leondepeon
la source
13

Vous pouvez également utiliser cat ~/.gitconfig.

Ankit K Gupta
la source
11

Git 2.6 (Sept / Oct 2015) ajoutera l'option --name-only pour simplifier la sortie d'un git config -l:

Voir commit a92330d , commit f225987 , commit 9f1429d (20 août 2015) par Jeff King ( peff) .
Voir commit ebca2d4 (20 août 2015), et commit 905f203 , commit 578625f (10 août 2015) par SZEDER Gábor ( szeder) .
(Fusionné par Junio ​​C Hamano - gitster- dans commit fc9dfda , 31 août 2015)

config: ajouter '--name-only option ' pour répertorier uniquement les noms de variables

' git config' ne peut afficher que des valeurs ou des paires nom-valeur, donc si un script shell a besoin des noms des variables de configuration définies, il doit exécuter ' git config --list' ou ' --get-regexp' et analyser la sortie pour séparer les noms des variables de configuration de leurs valeurs.
Cependant, une telle analyse ne peut pas gérer les valeurs multilignes.

Bien que ' git config' puisse produire une sortie terminée par un caractère nul pour une analyse sécurisée par les sauts de ligne, cela n'est d'aucune utilité dans un tel cas, car les shells ne peuvent pas gérer les caractères nuls.

Même notre propre script de complétion bash souffre de ces problèmes.

Aidez le script d'achèvement et les scripts shell en général, en introduisant l' --name-onlyoption ' ' pour modifier la sortie de ' --list' et ' --get-regexp' pour répertorier uniquement les noms des variables de configuration, afin qu'ils n'aient pas à effectuer un post-traitement sujet aux erreurs pour séparer les noms de variables de leurs valeurs.

VonC
la source
10

Une chose importante à propos de git config:

git configa --local, --globalet les --systemniveaux et les fichiers correspondants.

Vous pouvez donc utiliser git config --local, git config --globalet git config --system.

Par défaut, git configécrit au niveau local si aucune option de configuration n'est transmise. Les valeurs de configuration locales sont stockées dans un fichier qui se trouve dans le répertoire .git du référentiel:.git/config

La configuration au niveau global est spécifique à l'utilisateur, ce qui signifie qu'elle est appliquée à un utilisateur du système d'exploitation. Les valeurs de configuration globales sont stockées dans un fichier situé dans le répertoire personnel d'un utilisateur. ~/.gitconfigsur les systèmes Unix et C:\Users\<username>\.gitconfigsur Windows.

La configuration au niveau du système est appliquée à l'ensemble d'une machine. Cela couvre tous les utilisateurs d'un système d'exploitation et tous les référentiels. Le fichier de configuration au niveau du système réside dans un gitconfigfichier hors du chemin racine du système. $ (préfixe) / etc / gitconfig sur les systèmes Linux. Sous Windows, ce fichier se trouve dans C:\ProgramData\Git\config.

Votre option consiste donc à rechercher ce .gitconfigfichier global et à le modifier.

Ou vous pouvez utiliser git config --global --list.

C'est exactement la ligne dont vous avez besoin.

Entrez la description de l'image ici

prosti
la source
7

Si vous voulez simplement lister une partie de la configuration Git, telle que alias , core , remote , etc., vous pouvez simplement diriger le résultat via grep. Quelque chose comme:

git config --global -l | grep core
dleal
la source
4

Sur les systèmes Linux, vous pouvez afficher / modifier un fichier de configuration en

vi/vim/nano .git/config

Assurez-vous que vous êtes dans le dossier Git init.

Si vous voulez travailler avec --global config, c'est

vi/vim/nano .gitconfig

on / home / userName

Cela devrait aider à l'édition: https://help.github.com/categories/setup/

Daniel Perník
la source
3

Pour trouver toutes les configurations, il vous suffit d'écrire cette commande:

git config --list

Dans mon local, j'exécute cette commande.

Md Masud@DESKTOP-3HTSDV8 MINGW64 ~
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
[email protected]
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
infomasud
la source
La commande git config est une fonction pratique qui est utilisée pour définir les valeurs de configuration Git au niveau d'un projet global ou local. Ces niveaux de configuration correspondent aux fichiers texte .gitconfig. En savoir plus ici: atlassian.com/git/tutorials/setting-up-a-repository/git-config
infomasud
Très bien, pouvez-vous ajouter cela à votre réponse?
RamenChef
1

Depuis Git 2.26.0 , vous pouvez utiliser l' --show-scopeoption:

git config --list --show-scope

Exemple de sortie:

system  rebase.autosquash=true
system  credential.helper=helper-selector
global  core.editor='code.cmd' --wait -n
global  merge.tool=kdiff3
local   core.symlinks=false
local   core.ignorecase=true

Il peut être combiné avec

  • --localpour la configuration du projet, --globalpour la configuration de l'utilisateur , pour la configuration --systemde tous les utilisateurs
  • --show-origin pour afficher l'emplacement exact du fichier de configuration
ford04
la source