2013-09-01 11 views
8

Wenn ich eine Datei von Git Bash auf meinem Computer begehen und schieben Sie es auf GitHub, ich bin nicht als Autor des begehen erkannt:Unerkannte Autor

Unrecognized author

Wenn auf das Fragezeichen zeigen, hier ist die angezeigte Meldung:

Unbekannter Autor. Stellen Sie in diesem Fall sicher, dass die E-Mail-Adresse, die Sie zum Festschreiben verwendet haben, mit Ihrem Konto verknüpft ist. Sie können Ihrem Konto in den Einstellungen E-Mails hinzufügen.

Problem ist ich mehrmals überprüft und ich kann Ihnen versichern, die zwei E-Mail-Adressen entsprechen.

git config---global user.email

Zeigt genau die gleiche E-Mail in Email settings of GitHub angegebene Adresse.

Ich verwende Windows 7 und ich verbinde mich mit SSH mit dem Remote-Repository.

Antwort

9

Verwenden Sie git show oder git show <commit-SHA>, um zu überprüfen, ob die Autor-E-Mail-Adresse Ihres Commits korrekt ist. Wenn nicht, verwenden Sie git config user.email "<your-email>", da Sie diese Einstellung für diesen bestimmten Repo möglicherweise trotz Ihrer globalen Konfiguration geändert haben.

+0

Danke, 'git show' Anzeige nicht die richtige E-Mail-Adresse und ich Ihren Befehl, es zu ändern. Es klappt. –

0

Okay, ich habe die Lösung gefunden.

Grundsätzlich enthielt git config --global user.email die gute E-Mail-Adresse aber git config user.email nicht.

Also musste ich nur die lokale ändern und es hat funktioniert. Ich weiß immer noch nicht warum.

+0

Wahrscheinlich haben Sie 'git config user.email' in diesem Repo ausgeführt, bevor Sie das Commit durchführen. Oder führen Sie 'git config --global user.email' _nach dem Commit aus. – mgarciaisaia

25

den richtigen Namen und E-Mail für Ihre Zukunft einzurichten verpflichtet:

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

Wenn Sie wollen Ihre vorherigen unauthored Commits zu beheben, folgen Sie dem Github documentation:

  1. Do git show und erinnern Sie sich an die E-Mail, die verwendet wurden:

    $ git show 
    commit ca44c93b9433346f858676a8f1b83f3d9757ec65 
    Author: John Doe <[email protected]> 
    
  2. einen nackten Klon des Repository erstellen:

    git clone --bare https://github.com/user/repo.git 
    
  3. ersetzen OLD_EMAIL, CORRECT_NAME und CORRECT_EMAIL, dann cd zu Ihrem Repository und die Skript einfügen. Drücken Sie Enter.

    #!/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. Force-Push-to-Github:

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

Danke für die Lösung, hat für mich funktioniert und meine GitHub-Statistik wieder normalisiert. – Noah

+0

Stoßen Sie dies als empfohlene Antwort. – cheshireoctopus

Verwandte Themen