Aller au contenu

Utiliser automatiquement plusieurs identités sur Git

Avatar de Matthieu Sadouni
Publié le 9 mars 2023 Par Matthieu Sadouni

Quand on code sur des projets personnels on utilise en général une autre adresse email que celle du travail. Or par défaut Git n’a qu’une seule identité possible dans sa configuration. Il faut donc penser à la modifier à chaque fois ou avoir des commits liés à son adresse professionnelle dans ses dépôts personnels.

La directive de configuration includeIf permet de solutionner ce problème en chargeant automatiquement une configuration différente en fonction de plusieurs paramètres : dossier dans lequel est rangé le code, adresse du dépôt Git…

Voici deux exemples permettant de faire ces modifications.

En fonction du dossier dans lequel est rangé le code :

Code
[includeIf "gitdir:~/_work_repos/"]
  path = "~/_work_repos/.gitconfig"
[includeIf "gitdir:~/_repos/"]
  path = "~/_repos/.gitconfig"

En fonction de l’adresse du dépôt :

Code
# .gitconfig
[user]
    email = home@example.com

# override if a remote matches org name
[includeIf "hasconfig:remote.*.url:git@github.com:ORG-NAME/**"]
     path = ~/.gitconfig.work
Code
# .gitconfig.work
[user]
    email = work@example.com

Prêt à travailler avec nous ?

Contactez-nous, ou venez nous rencontrer pour discuter de vos projets.