2015-09-20 9 views
6

Beim Versuch, ein Repository zu begehen, erhalte ich die Fehlermeldung:Bypass „Sag mir, wer du bist“ Fehler in 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]') 

Die offensichtliche Lösung wäre es, die git config Optionen in der Ausgabe laufen, aber ich tue will das nicht machen.

Der betreffende Computer gehört nicht zu einer bestimmten Person, sondern ist ein gemeinsam genutzter Computer. Daher wäre jeder Commit ein anderer Benutzer.

Wie umgehe ich das und setze Autor pro Commit und nicht global?

+2

Wenn Sie 'git config' ohne die Option' --global' ausführen, legen Sie den Autor nur für diesen bestimmten Klon fest. – approxiblue

+1

@approxiblue Was passiert, wenn mehrere Personen zum selben Klon hinzugefügt werden? –

+2

Einen Klon für mehrere Committer zu haben, ist sowieso fragwürdig. Warum willst du das machen? – tripleee

Antwort

2

könnten Sie die --author Flag verwenden:

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

Ich habe gehört, Autor und Committer sind aber verschiedene Dinge? –

+0

Das passiert, wenn config ein Name ist und der Autor geändert wird: http://i.imgur.com/d933jHh.png –

+0

Warum ist das ein Bild? Ja, Autor und Committer sind anders. – tripleee

6

Eine weitere Option ist die -c Flag verwenden config-Paramter auf den aktuellen Befehl zu übergeben.

In Ihrem Fall git -c user.email="[email protected]" -c user.name="Your Name" commit ...

Die -c Werte außer Kraft setzen alle anderen Standardwerte (Satz und unset Parameter). Beachten Sie, dass alle -c Optionen vor dem Befehlsnamen commit stehen müssen.

+0

Dies funktionierte für be, aber ich musste die Syntax 'user.email =" [email protected] "' und 'user.name =" Your Name "' (beachten Sie das = Zeichen). – sffc

+0

Natürlich, mein Fehler. habe es beim Tippen verpasst :-) – CodeWizard

Verwandte Themen