Article original : How to Use Multiple Git Configs on One Computer
Par Dhruv Barochiya
Vous pourriez avoir du mal à gérer plusieurs chats, mais lorsqu'il s'agit de profils Git, il y a quelque chose que vous pouvez faire.
Passons directement à la solution – La réponse réside dans le fichier .gitconfig. C'est le point de départ pour Git afin d'identifier quelles configurations doivent être utilisées.
L'idée est de séparer les dépôts sur votre machine en plusieurs répertoires en séparant les profils que vous souhaitez, puis de définir un fichier .gitconfig par profil.
Étape 1 → créer des répertoires séparés pour les dépôts
Organisez les projets sur lesquels vous travaillez dans des dossiers séparés selon les profils avec lesquels vous souhaitez travailler.
Par exemple, disons qu'il y a deux profils Git avec lesquels vous travaillez. C'est un cas d'utilisation courant pour la plupart d'entre nous :
TRAVAIL→ pour les projets liés au travailPERSONNEL→ pour les projets open source et les projets secondaires
Étape 2 → créer une configuration Git globale
Créez le fichier .gitconfig global dans votre répertoire personnel s'il n'existe pas déjà. Ensuite, ajoutez tous les répertoires de profils comme une entrée comme dans l'exemple ci-dessous.
Le fonctionnement est très intuitif – si le chemin du répertoire où vous avez créé le répertoire Git correspond à l'un des chemins dans includeIF, alors Git utilise ce fichier de configuration de profil particulier. Sinon, il utilise la configuration par défaut.
[includeIf "gitdir:~/personnel/"]
path = ~/.gitconfig-personnel
[includeIf "gitdir:~/travail/"]
path = ~/.gitconfig-travail
Étape 3 → créer des configurations Git individuelles pour les profils
Si vous ne l'avez pas remarqué jusqu'à présent, nous venons de mentionner les fichiers .gitconfig-personnel et .gitconfig-travail dans le fichier .gitconfig global, mais nous ne les avons pas encore créés. Ces fichiers individuels peuvent contenir toutes les personnalisations dont vous avez besoin, du nom d'utilisateur et de l'email aux hooks de commit.
[user]
name = utilisateur_travail
email = email_travail
[user]
name = utilisateur_personnel
email = email_personnel
Vérifions
Nous sommes prêts ! Maintenant, vous aurez trois fichiers Git dans votre répertoire personnel.

Maintenant, nous allons créer et initier un nouveau dépôt Git dans les répertoires de travail et personnel et vérifier les configurations.
$ cd ~/travail
$ mkdir travail-test-depot
$ cd travail-test-depot
$ git init
*Initialized empty Git repository in /Users/dbarochiya/travail/travail-test-depot/.git/*
$ git config -l
*credential.helper=osxkeychain
includeif.gitdir:~/personnel/.path=~/.gitconfig-personnel
includeif.gitdir:~/travail/.path=~/.gitconfig-travail
**user.name=moi_travail
user.email = travail@travail.com**
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true* 1
$ cd ~/personnel
$ mkdir personnel-test-depot
$ git init
*Initialized empty Git repository in /Users/dbarochiya/personnel/.git/*
$ git config -l
*credential.helper=osxkeychain
includeif.gitdir:~/personnel/.path=~/.gitconfig-personnel
**user.name=moi_personnel
user.email=personnel@personnel.com**
includeif.gitdir:~/travail/.path=~/.gitconfig-travail
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true*
Voilà – comme vous pouvez le voir, l'email et le nom d'utilisateur sont différents dans les deux cas. Selon le chemin du dépôt Git, il est capable d'utiliser les fichiers .gitconfig personnalisés.