123 votes

Comment dire à git d'utiliser la bonne identité (nom et email) pour un projet donné?

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

J'ai lu sur les solutions suivantes qui sont tous soit global ou temporaire:

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

Une solution consiste à exécuter manuellement une fonction shell qui définit mon environnement de travail ou personnelle, mais je suis assez sûr que j'oublie souvent de passer à l'identité résultant en s'engageant sous la fausse identité.

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

142voto

Dan Ray Points 14852

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

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

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

24voto

arulraj.net Points 641

Éditer le fichier de configuration avec ".git" dossier de maintenir l'autre nom d'utilisateur et e-mail dépend du référentiel

  • Goto Votre reposotory
  • Afficher les fichiers cachés et goto ".git" dossier
  • Trouver la "config" fichier
  • Ajouter les lignes ci-dessous à EOF

[utilisateur]

nom = Bob

email = bob@example.com

Cette commande ci-dessous pour indiquer votre nom d'utilisateur et e-mail mis pour ce référentiel.

git config --obtenez de l'utilisateur.nom

git config --obtenez de l'utilisateur.e-mail

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

Ici ipchat est mon repo nom

17voto

Seth Robertson Points 13276

Si vous utilisez git config user.email "foo@example.com" il sera lié au projet en cours, vous êtes en.

Qu'est ce que je fais pour mes projets. Je définissez l'identité quand je clone/init le repo. Il n'est pas infaillible (si vous oubliez et vous pousser avant de vous 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;')

Alors si vous oubliez de jeu de votre non-valeurs globales, vous obtiendrez un message d'erreur.

[MODIFIER] Sur un autre système, j'ai dû augmenter le nombre de x 968 pour l'obtenir à l'échec avec "fatal: Incroyablement longues identifiant personnel". Même version de git. Étrange.

9voto

ismail Points 19146

Si vous n'utilisez pas le paramètre --global les variables ne seront définies que pour le projet en cours.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X