2015-09-20 30 views
6

Al momento il tentativo di commettere un repository, ottengo l'errore:Bypass "Dimmi chi sei" errore nel 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 soluzione più ovvia sarebbe quella di eseguire i git config opzioni nell'output, però lo faccio non voglio farlo.

Il computer in questione non appartiene a una persona specifica ma è un computer condiviso. Pertanto, ogni commit sarebbe un utente diverso.

Come faccio a bypassare questo e impostare l'autore per essere commesso e non globale?

+2

Se si esegue 'git config' senza l'opzione' --global', si imposta l'autore solo per quel clone specifico. – approxiblue

+1

@approxiblue Cosa succede se più persone aggiungeranno allo stesso clone? –

+2

Avere un clone per più commettitori è comunque una pratica discutibile. Perché vuoi farlo? – tripleee

risposta

2

è possibile utilizzare il flag --author:

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

Ho sentito autori e committer sono cose diverse però? –

+0

Questo è ciò che accade quando config è un nome e l'autore è cambiato: http://i.imgur.com/d933jHh.png –

+0

Perché è un'immagine? Sì, autore e committer sono diversi. – tripleee

6

Un'altra opzione è quella di utilizzare il flag -c di passare paramter config al comando corrente.

Nel tuo caso git -c user.email="[email protected]" -c user.name="Your Name" commit ...

I valori -c scavalcano ogni altro valore di default (impostati e parametri unset). Si noti che tutte le opzioni -c devono essere precedute dal nome del comando commit.

+0

Questo ha funzionato, ma ho dovuto usare la sintassi 'user.email =" [email protected] "' e 'user.name =" Nome "' (notare il segno =). – sffc

+0

Ovviamente, mio ​​errore. l'ho perso mentre scrivevo :-) – CodeWizard