Publié le
La gestion de plusieurs identités Git est un défi courant dans le monde du développement logiciel. Que ce soit pour vos projets personnels, des tâches liées au travail ou diverses collaborations avec des clients, maintenir vos référentiels Git organisés et vous assurer de committer avec la bonne identité est essentiel.
Dans cet article, nous explorerons une méthode très simple qui vous permettra de toujours utiliser la bonne identité Git pour vos projets.
Cette méthode s'appuie sur l'article de Garrit Franke. Merci à lui pour les tips 🫶 !
Classification de vos projets Git
La première étape consiste à classer vos projets en différents niveaux :
.
└── Code
├── Work
│ ├── repo - 1
│ ├── repo - 2
└── Perso
├── repo - 3
├── repo - 4
Dans cet exemple, vos projets personnels seront stockés dans un répertoire ~/Code/Perso
.
Quant à vos projets professionnels, ceux-ci se retrouveront dans ~/Code/Work
.
La configuration .gitconfig
Une fois que vous avez classifié vos projets, vous devrez modifier votre configuration Git. Le fichier de configuration global de Git se trouve dans ~/.gitconfig
. Si vous avez déjà défini des paramètres tels que git config user.name "Foo Bar"
, vous les trouverez dans ce fichier.
L'un des avantages du fichier .gitconfig
est que vous pouvez inclure conditionnellement d'autres fichiers de configuration, et c'est ce qui fera toute la différence. Voici un exemple de fichier ~/.gitconfig
:
[user]
name = Foo Bar
email = foo@bar.local
[includeIf "gitdir:~/Code/Work"]
path = ~/.gitconfig-work
[includeIf "gitdir:~/Code/Perso"]
path = ~/.gitconfig-perso
Avec ce fichier, l'identité utilisée par défaut sera donc Foo Bar <foo@bar.local>
.
Tandis que pour les projets présents dans ~/Code/Work
, ils utiliseront la configuration de ~/.gitconfig-work
.
Enfin, pour les projets contenus dans ~/Code/Perso
, la configuration de ~/.gitconfig-perso
sera appliquée.
Voici le contenu du fichier ~/.gitconfig-perso
:
[user]
name = Foo Perso
email = foo@perso.local
Et que le fichier ~/.gitconfig-work
:
[user]
name = Foo Work
email = foo@work.local
Source: makeameme.org