2015-09-20 1 views
6

Lors de la tentative de commettre un dépôt, je reçois l'erreur:Bypass erreur « Dites-moi qui vous êtes » dans git

$ git commit 

*** Please tell me who you are. 

Run 

git config --global user.email "[email protected]" 

git config --global user.name "Your Name" 

to set your account's default identity. 
Omit --global to set the identity only in this repository. 

fatal: unable to auto-detect email address (got '[output redacted]') 

La solution évidente serait d'exécuter les git config options dans la sortie, mais je ne Je ne veux pas faire ça.

L'ordinateur en question n'appartient pas à une personne en particulier mais est un ordinateur partagé. Par conséquent, chaque validation serait un utilisateur différent. Comment puis-je contourner cela et définir l'auteur pour être par commit et non global?

+2

Si vous exécutez 'git config' sans l'option' --global', vous ne définissez l'auteur que pour ce clone spécifique. – approxiblue

+1

@approxiblue Et si plusieurs personnes vont ajouter au même clone? –

+2

Avoir un clone pour plusieurs committers est une pratique discutable de toute façon. Pourquoi est ce que tu veux faire ça? – tripleee

Répondre

2

Vous pouvez utiliser le drapeau --author:

$ git commit --author="A U Thor <[email protected]>" 
+0

J'ai entendu l'auteur et les committers sont des choses différentes cependant? –

+0

C'est ce qui arrive quand config est un nom et que l'auteur est changé: http://i.imgur.com/d933jHh.png –

+0

Pourquoi est-ce une image? Oui, l'auteur et le committer sont différents. – tripleee

6

Une autre option est d'utiliser le drapeau -c passer config paramter à la commande en cours.

Dans votre cas git -c user.email="[email protected]" -c user.name="Your Name" commit ...

Les valeurs -c remplacent toutes les autres valeurs par défaut (ensemble et paramètres) unset. Notez que toutes les options -c doivent précéder le nom de la commande commit.

+0

Cela a fonctionné pour être mais je devais utiliser la syntaxe 'user.email =" [email protected] "' et 'user.name =" votre nom "' (notez le signe =). – sffc

+0

Bien sûr, mon erreur. l'a manqué en tapant :-) – CodeWizard