Git
Configuration
Recherche…
Syntaxe
- git config [<option-fichier>] nom [valeur] # l'un des cas d'utilisation les plus courants de git config
Paramètres
Paramètre | Détails |
---|---|
--system | Modifie le fichier de configuration à l'échelle du système, utilisé pour chaque utilisateur (sous Linux, ce fichier se trouve dans $(prefix)/etc/gitconfig ) |
--global | Edite le fichier de configuration global, qui est utilisé pour chaque référentiel sur lequel vous travaillez (sous Linux, ce fichier se trouve à ~/.gitconfig |
--local | Modifie le fichier de configuration spécifique au .git/config situé à l' .git/config dans votre référentiel. Ce sont les paramètres par défauts |
Nom d'utilisateur et adresse e-mail
Juste après avoir installé Git, la première chose à faire est de définir votre nom d'utilisateur et votre adresse e-mail. À partir d'un shell, tapez:
git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
-
git config
est la commande pour obtenir ou définir des options -
--global
signifie que le fichier de configuration spécifique à votre compte utilisateur sera modifié -
user.name
etuser.email
sont les clés des variables de configuration;user
est la section du fichier de configuration.name
etemail
sont les noms des variables. -
"Mr. Bean"
et[email protected]
sont les valeurs que vous[email protected]
dans les deux variables. Notez les guillemets autour de"Mr. Bean"
, qui sont nécessaires car la valeur que vous stockez contient un espace.
Plusieurs configurations git
Vous avez jusqu'à 5 sources pour la configuration de git:
- 6 fichiers:
-
%ALLUSERSPROFILE%\Git\Config
(Windows uniquement) - (system)
<git>/etc/gitconfig
,<git>
étant le chemin d'installation de git.
(sous Windows, il s'agit de<git>\mingw64\etc\gitconfig
) - (system)
$XDG_CONFIG_HOME/git/config
(Linux / Mac uniquement) - (global)
~/.gitconfig
(Windows:%USERPROFILE%\.gitconfig
) - (local)
.git/config
(dans un git repo$GIT_DIR
) - un fichier dédié (avec
git config -f
), utilisé par exemple pour modifier la configuration des sous-modules:git config -f .gitmodules ...
-
- la ligne de commande avec
git -c
:git -c core.autocrlf=false fetch
redéfinit tout autrecore.autocrlf
surfalse
, uniquement pour cette commandefetch
.
L'ordre est important: tout ensemble de configuration dans une source peut être remplacé par une source listée en dessous.
git config --system/global/local
est la commande pour lister 3 de ces sources, mais seul git config -l listera toutes les configurations résolues .
"resolu" signifie qu'il ne liste que la valeur de configuration finale remplacée.
Depuis git 2.8, si vous voulez voir quelle configuration provient de quel fichier, vous tapez:
git config --list --show-origin
Définition de l'éditeur à utiliser
Il existe plusieurs manières de définir quel éditeur utiliser pour la validation, le rebasage, etc.
Modifiez le
core.editor
configurationcore.editor
.$ git config --global core.editor nano
Définissez la variable d'environnement
GIT_EDITOR
.Pour une commande:
$ GIT_EDITOR=nano git commit
Ou pour toutes les commandes exécutées dans un terminal. Remarque: Cela s'applique uniquement jusqu'à la fermeture du terminal.
$ export GIT_EDITOR=nano
Pour modifier l'éditeur de tous les programmes de terminal, pas seulement Git, définissez la variable d'environnement
VISUAL
ouEDITOR
. (VoirVISUAL
vsEDITOR
.)$ export EDITOR=nano
Remarque: comme ci-dessus, cela ne concerne que le terminal actuel. Votre shell aura généralement un fichier de configuration pour vous permettre de le définir de manière permanente. (Sur
bash
, par exemple, ajoutez la ligne ci-dessus à votre~/.bashrc
ou~/.bash_profile
.)
Certains éditeurs de texte (principalement ceux de l'interface graphique) n'exécuteront qu'une seule instance à la fois et quitteront généralement si une instance de ceux-ci est déjà ouverte. Si tel est le cas pour votre éditeur de texte, Git imprimera le message Aborting commit due to empty commit message.
sans vous permettre de modifier le message de validation en premier. Si cela vous arrive, consultez la documentation de votre éditeur de texte pour voir s'il a un drapeau --wait
(ou similaire) qui le fera suspendre jusqu'à la fermeture du document.
Configuration des fins de ligne
La description
Lorsque vous travaillez avec une équipe qui utilise différents systèmes d'exploitation (OS) sur l'ensemble du projet, vous pouvez parfois rencontrer des problèmes lors du traitement des fins de ligne.
Microsoft Windows
Lorsque vous travaillez sur le système d'exploitation Microsoft Windows, les fins de ligne sont normalement de type retour chariot + retour à la ligne (CR + LF). Ouvrir un fichier qui a été modifié à l'aide d'un ordinateur Unix tel que Linux ou OSX peut causer des problèmes, faisant croire que le texte n'a aucune fin de ligne. Cela est dû au fait que les systèmes Unix appliquent des fins de ligne différentes uniquement pour les sauts de ligne de formulaire.
Pour résoudre ce problème, vous pouvez exécuter les instructions suivantes
git config --global core.autocrlf=true
À la caisse , cette instruction garantit que les fins de ligne sont configurées conformément au système d'exploitation Microsoft Windows (LF -> CR + LF)
Basé sur Unix (Linux / OSX)
De même, il peut y avoir des problèmes lorsque l'utilisateur du système d'exploitation basé sur Unix essaie de lire des fichiers qui ont été modifiés sous Microsoft Windows. Afin d'éviter des problèmes imprévus
git config --global core.autocrlf=input
Lors de la validation , cela changera les fins de ligne de CR + LF -> + LF
configuration pour une seule commande
Vous pouvez utiliser -c <name>=<value>
pour ajouter une configuration à une seule commande.
Pour vous engager en tant qu'autre utilisateur sans avoir à modifier vos paramètres dans .gitconfig:
git -c user.email = mail@example commit -m "some message"
Remarque: pour cet exemple, vous n'avez pas besoin de user.name
à la fois user.name
et user.email
, git complétera les informations manquantes des commits précédents.
Configurer un proxy
Si vous êtes derrière un proxy, vous devez en parler à git:
git config --global http.proxy http://my.proxy.com:portnumber
Si vous n'êtes plus derrière un proxy:
git config --global --unset http.proxy
Correction automatique des fautes de frappe
git config --global help.autocorrect 17
Cela permet la correction automatique dans git et vous pardonnera pour vos erreurs mineures (par exemple, les git stats
de git status
au lieu du git status
). Le paramètre que vous fournissez à help.autocorrect
détermine combien de temps le système doit attendre, en dixièmes de seconde, avant d'appliquer automatiquement la commande corrigée. Dans la commande ci-dessus, 17 signifie que git doit attendre 1,7 seconde avant d'appliquer la commande corrigée.
Cependant, des erreurs plus importantes seront considérées comme des commandes manquantes. git testingit
quelque chose comme git testingit
entraînerait que testingit is not a git command.
Lister et éditer la configuration actuelle
Git config vous permet de personnaliser le fonctionnement de git. Il est couramment utilisé pour définir votre nom et votre adresse e-mail ou votre éditeur favori ou la manière dont les fusions doivent être effectuées.
Pour voir la configuration actuelle
$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...
Pour éditer la configuration:
$ git config <key> <value>
$ git config core.ignorecase true
Si vous souhaitez que le changement soit vrai pour tous vos référentiels, utilisez --global
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi
Vous pouvez lister à nouveau pour voir vos modifications.
Nom d'utilisateur et adresse email multiples
Depuis Git 2.13, plusieurs noms d'utilisateur et adresses électroniques peuvent être configurés à l'aide d'un filtre de dossier.
Exemple pour Windows:
.gitconfig
Edit: git config --global -e
Ajouter:
[includeIf "gitdir:D:/work"]
path = .gitconfig-work.config
[includeIf "gitdir:D:/opensource/"]
path = .gitconfig-opensource.config
Remarques - L'ordre dépend, le dernier qui correspond "gagne".
- le
/
à la fin est nécessaire - par exemple"gitdir:D:/work"
ne fonctionnera pas. - le préfixe
gitdir:
est requis.
.gitconfig-travail.config
Fichier dans le même répertoire que .gitconfig
[user]
name = Money
email = [email protected]
.gitconfig-opensource.config
Fichier dans le même répertoire que .gitconfig
[user]
name = Nice
email = [email protected]
Exemple pour Linux
[includeIf "gitdir:~/work/"]
path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
path = .gitconfig-opensource
Le contenu du fichier et les notes sous la section Windows.