Comment avoir plusieurs profils Git ?
Avoir plusieurs profils Git en fonction du répertoire courant est pratique lorsque vous utilisez votre ordinateur pour différentes activités. Bien qu'il soit possible de modifier manuellement la configuration Git pour chaque répertoire, cela peut être fastidieux.
Dans cet article, je vais vous montrer comment avoir plusieurs profils Git en fonction du répertoire courant, en utilisant l'inclusion de fichiers de configuration Git de manière conditionnelle.
Comment faire ?
À la main
Alors oui, je pourrais modifier la configuration locale de Git pour chaque dépôt en faisant :
git config user.name "John Doe"
git config user.email johndoe@example.com
En omettant le flag --global
ici, on va modifier uniquement la configuration Git pour le répertoire courant.
Ça fonctionne bien, mais ce n'est pas optimal, car je vais devoir faire la manipulation à chaque nouveau dépôt Git.
En utilisation l'inclusion de Git
Il est possible d'inclure des fichiers de configuration Git les uns dans les autres, mais surtout il est possible de faire ça de manière conditionnelle. La documentation officielle est très bien faite.
J'ai donc choisi d'avoir par défaut mon profil "perso" et d'inclure fonctionnellement le profil "pro" dans les dépôts se situant dans un répertoire donné.
J'ai décidé de mettre ces deux fichiers de configuration dans le dossier ~/.config/git/
mais vous pouvez les mettre où vous voulez.
J'ai donc créé un premier fichier git-work.conf
avec ce contenu :
[user]
name = Valentin Maerten
email = xxxxxx@pubstack.io
signingkey = xxxxxxxxx
[commit]
gpgsign = true
et un autre fichier pour côté personnel git-personel.conf
:
[user]
name = Valentin Maerten
email = xxxxxxxxx@gmail.com
signingkey = xxxxxxxxxxx
[commit]
gpgsign = true
Et pour finir, il faut modifier le ~/.gitconfig
comme ceci :
[include]
path = ~/.config/git/git-personal.conf
[includeIf "gitdir:~/dev/pubstack/"]
path = ~/.config/git/git-work.conf
Il est bien entendu possible d'utiliser des glob pattern dans la condition, comme le spécifie la documentation officielle.
De cette manière, automatiquement, dès que je suis dans un sous-dossier du répertoire ~/dev/pubstack/
je vais utiliser mon profil professionel et sinon je vais utiliser mon profil personnel.
Conclusion
En utilisant la fonctionnalité d'inclusion conditionnelle de Git, il est facile de configurer plusieurs profils en fonction du répertoire courant. En ayant un fichier de configuration par profil, on peut facilement modifier les informations utilisateur pour chaque profil.
Cette méthode évite de devoir modifier la configuration locale de Git à chaque nouveau répertoire et il devient facile d'avoir plusieurs profils Git sur un même ordinateur.
Si vous constatez une coquille dans l'article, n'hésitez pas à me contacter sur Twitter. De la même manière, si vous souhaitez être au courant des prochains articles, vous pouvez me suivre sur Twitter.