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
ouEMAIL
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?
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.
, 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'
É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
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.
Si vous n'utilisez pas le paramètre --global
, il définira les variables pour le projet en cours uniquement.
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).