Comment indiquer à git d'utiliser l'identité (nom et email) pour un projet donné?

J'utilise mon ordinateur portable personnel pour les projets professionnels et personnels et je voudrais utiliser mon adresse e-mail professionnelle pour mes commits au travail (gitolite) et mon adresse e-mail personnelle pour le reste (github).

J'ai lu les solutions suivantes qui sont toutes globales ou temporaires:

  • git config --global user.email "bob@example.com"
  • git config user.email "bob@example.com"
  • git commit --author "Bob <bob@example.com>"
  • définissant l'une des GIT_AUTHOR_EMAIL, GIT_COMMITTER_EMAIL ou EMAIL variables d'environnement

Une solution consiste à exécuter manuellement une fonction shell cela définit mon environnement sur work ou personal, mais je suis sûr que j'oublierai souvent de passer à l'identité correcte, ce qui entraînera la mauvaise identité.

Existe-t-il un moyen de lier un certain référentiel, nom de projet, etc. à une identité (nom, prénom, e-mail)? Ce que font les gens?

98
demandé sur Martin Jambon 2011-05-25 00:36:55

6 réponses

git config user.email "bob@example.com"

Faire cela dans un repo définira la configuration sur ce repo, et non globalement.

On dirait que c'est à peu près ce que vous recherchez, à moins que je ne vous interprète mal.

116
répondu Dan Ray 2011-05-24 20:40:40

, Vous devez utiliser le locales set commande ci-dessous:

Ensemble Local

git config user.email mahmoud@company.ccc
git config user.name 'Mahmoud Zalt'

Local get

git config --get user.email
git config --get user.name

Le fichier de configuration local se trouve dans le répertoire du projet: .git/config.

Ensemble Global

git config --global user.email mahmoud@zalt.me
git config --global user.name 'Mahmoud Zalt'

Global get

git config --global --get user.email
git config --global --get user.name

Le fichier de configuration global dans votre répertoire personnel: ~/.gitconfig.

N'oubliez pas de citer des blancs, etc, par exemple: 'FirstName LastName'

25
répondu Mahmoud Zalt 2016-07-12 20:17:02

Éditez le fichier de configuration avec in ".le dossier " git " pour gérer les différents nom d'utilisateur et e-mail dépend du référentiel

  • Accédez à votre référentiel
  • Afficher les fichiers cachés et aller à ".dossier " git "
  • Trouver le fichier "config"
  • Ajouter les lignes ci-dessous à EOF

[utilisateur]

Name = Bob

Email = bob@example.com

Cette commande ci-dessous vous indique le nom d'utilisateur et l'adresse électronique définis pour ce référentiel.

Git config --get user.name

Git config -- récupère l'utilisateur.e-mail

Exemple: pour le mien ce fichier de configuration dans D:\workspace\eclipse\ipchat\.git \ config

Ici ipchat est mon nom de repo

20
répondu arulraj.net 2018-05-18 13:25:55

Si vous utilisez git config user.email "foo@example.com" Il sera lié au projet actuel dans lequel vous vous trouvez.

C'est ce Que je fais pour mes projets. Je définis l'identité appropriée lorsque je clone / initialise le repo. Ce n'est pas infaillible (si vous oubliez et poussez avant de le comprendre, vous êtes arrosé) mais il est à peu près aussi bon que vous pouvez obtenir sans la capacité de dire git config --global user.email 'ILLEGAL_VALUE'

En Fait, vous pouvez faire une valeur illégale. Définissez votre git config --global user.name $(perl -e 'print "x"x968;')

Ensuite, si vous oubliez de définir vos valeurs non globales, vous obtiendrez une erreur message.

[modifier] Sur un système différent, j'ai dû augmenter le nombre de x à 968 pour le faire échouer avec "fatal: un identifiant personnel incroyablement long". Même version de git. Étrange.

16
répondu Seth Robertson 2011-05-25 20:22:37

Si vous n'utilisez pas le paramètre --global, il définira les variables pour le projet en cours uniquement.

7
répondu ismail 2011-05-24 20:40:17

Depuis git 2.13, vous pouvez utiliser un includeIf dans votre gitconfig pour inclure un fichier avec une configuration différente basée sur le chemin du dépôt où vous exécutez vos commandes git.

Une fois que je l'ai moi-même, je vais mettre à jour avec un meilleur exemple.

Https://motowilliams.com/conditional-includes-for-git-config#disqus_thread

Pour utiliser Git 2.13, vous devrez soit ajouter un PPA (Ubuntu / Debian), soit télécharger les binaires et installer (Windows / Autre Linux).

1
répondu dragon788 2017-07-14 23:09:05