Contexte
Je suis développeur au quotidien et j’aime développer en dehors du travail également.
Parfois, il peut m’arriver de faire un kata entre midi et deux par exemple. J’aime bien du coup garder une trace de mon exercice ou si je n’ai pas le temps pour le continuer plus tard. Pour ça, j’utilise Git avec un dépôt distant. Rien de particulier jusque là.
Cette technique s’applique dès que vous avez différents serveurs Git (GitLab, GitHub, etc.). En dehors de ce cas personnel, au travail il m’arrive de jongler entre différents serveurs Git. Je travaille dans une ESN et on a différents clients qui ont chacun leurs propres environnement et fonctionnement. Pour certains clients nous hébergeons leurs codes pour d’autres nous devons utiliser leurs serveurs Git. Donc j’ai un compte pour le serveur Git que nous auto-hébergeons et j’ai un compte pour le serveur Git du client. Étant un peu maniaque je ne veux pas utiliser mon compte (git.username / git.email) d’entreprise pour travailler sur le Git du client.
J’utilise GitExtension comme GUI pour Git. Il est possible de configurer différents comptes en surchargeant la configuration principale. Mais il faut y penser dès le début et pour chaque projet !
Un jour me rendant compte que j’utilisais le mauvais compte pour le mauvais serveur Git, j’ai cherché à automatiser ces changements pour ne plus me soucier de si j’utilisais le bon compte pour le bon serveur. C’est le sujet de cette article !
Mise en place
- Créer un “sous” ficher de configuration Git dans le même répertoire que votre fichier de configuration principal.
Le fichier peut être nommé par exemple :
.gitconfig-work
- Dans le sous fichier vous allez mettre les informations du compte correspondant, par exemple :
[user]
name = Share IT Code
email = [email protected]
- Ensuite il est nécessaire de modifier le fichier de configuration principal (.gitconfig). On va indiquer que pour tous les projets Git qui sont dans tel dossier devra utiliser tel sous-configuration. Pa exemple :
[includeIf "gitdir:C:/Developpement/work/"]
path = .gitconfig-work
- Pour vérifier que cela fonctionne, vous pouvez exécuter cette commande qui vous affichera les fichiers de configuration utilisés pour tels dossiers :
git config –show-scope –get user.email
Et voilà normalement vous avez tous ce qu’il faut pour ne plus vous préoccuper de savoir si tel compte est bien utilisé pour tel serveur.
N’hésitez pas à laisser un commentaire ou à partager l’article si vous le souhaitez.