2013-09-01 23 views
8

Quando ho commesso un file da Git Bash sul mio computer e spingerlo su GitHub, io non sono riconosciute come l'autore del commit:autore non riconosciuto

Unrecognized author

Quando si punta sul punto di domanda, qui è il messaggio visualizzato:

Autore non riconosciuto. Se sei tu, assicurati che l'indirizzo email che hai utilizzato per il commit sia associato al tuo account. Puoi aggiungere email al tuo account in Impostazioni.

Problema è controllato più volte e posso assicurarvi che i due indirizzi e-mail corrispondono.

git config --global user.email

di visualizzare esattamente lo stesso indirizzo e-mail indicato in Email settings of GitHub.

Io uso Windows 7 e mi collego con SSH al repository remoto.

risposta

9

Utilizzare git show o git show <commit-SHA> per verificare se l'e-mail dell'autore del commit è corretta. In caso contrario, utilizzare git config user.email "<your-email>" poiché potrebbe essere stata modificata l'impostazione per quel particolare repository, nonostante la configurazione globale.

+0

Grazie, 'git show' non visualizzava l'indirizzo e-mail corretto e ho usato il vostro comando di cambiarlo. Funziona. –

0

Ok, ho trovato la soluzione.

Fondamentalmente, git config --global user.email conteneva il buon indirizzo e-mail ma non lo era git config user.email.

Quindi ho dovuto modificare quello locale e ha funzionato. Ancora non so perché però.

+0

Probabilmente hai eseguito 'git config user.email' su quel repository prima di fare quel commit. Oppure esegui 'git config --global user.email' _after_ che commit. – mgarciaisaia

25

Per impostare il nome giusto ed e-mail per il tuo futuro, commette:

git config --global user.name "John Doe" 
git config --global user.email [email protected] 

Se si desidera risolvere tuoi precedenti commit unauthored, seguire la Github documentation:

  1. Fare git show e ricordare l'e-mail che sono stati utilizzati:

    $ git show 
    commit ca44c93b9433346f858676a8f1b83f3d9757ec65 
    Author: John Doe <[email protected]> 
    
  2. Creare una nuda clone del repository:

    git clone --bare https://github.com/user/repo.git 
    
  3. Sostituire OLD_EMAIL, CORRECT_NAME e CORRECT_EMAIL, quindi cd al repository e incollare lo script. Premere Invio.

    #!/bin/sh 
    
    git filter-branch --env-filter ' 
    
    OLD_EMAIL="[email protected]" 
    CORRECT_NAME="Your Correct Name" 
    CORRECT_EMAIL="[email protected]" 
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] 
    then 
        export GIT_COMMITTER_NAME="$CORRECT_NAME" 
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" 
    fi 
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] 
    then 
        export GIT_AUTHOR_NAME="$CORRECT_NAME" 
        export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" 
    fi 
    ' --tag-name-filter cat -- --branches --tags 
    
  4. forza di spinta a Github:

    git push --force --tags origin 'refs/heads/*' 
    
+0

Grazie per la soluzione, ha funzionato per me e ha riportato le mie statistiche di GitHub alla normalità. – Noah

+0

Bumping come risposta raccomandata. – cheshireoctopus