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 et user.email sont les clés des variables de configuration; user est la section du fichier de configuration. name et email 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 autre core.autocrlf sur false , uniquement pour cette commande fetch .

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 configuration core.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 ou EDITOR . (Voir VISUAL vs EDITOR .)

    $ 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.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow