Auteur Git inconnu

Mon nom d'auteur dans tous mes commet est de inconnu https://github.com/freeenergy/Teacher-Login-Validation-Module

Fait ceci

$ git config --global user.name "Firstname Lastname"Sets the name of the user for all git instances on the system
$ git config --global user.email "your_email@youremail.com"

Mais le nom de l'auteur / du commettant affiche toujours [unknown]

Ne sachant pas ce que je faisais, j'ai expérimenté avec la définition de $ GIT_AUTHOR_NAME="mon nom" et il a changé mon nom en mon nom d'utilisateur [freeenergy] (Ie mon problème a été corrigé.) Mais quand je suis retourné à mon autre ordinateur, le problème était le même.

Mon le fichier de configuration ressemble maintenant à ceci mais est toujours en train de commettre comme [unknown]

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = git@github.com:freeenergy/my-project.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = my name
    email = myEmail.com
33
demandé sur albo 2011-11-27 09:55:12

4 réponses

Mieux encore que d'exécuter git config, vous pouvez éditer votre fichier ~/.gitconfig directement. Regardez et voyez s'il y a une section pour [user] avec les informations pertinentes. Par exemple, mon ~/.gitconfig a ceci...

[user]
    name = Bob Gilmore
    email = me@mydomain.com

(il n'y a pas d'espace devant le [user], et des onglets uniques devant les étiquettes de nom et d'e-mail)

S'il n'a pas ceux définis correctement, allez-y et éditez le .fichier gitconfig à la main.

46
répondu Bob Gilmore 2011-11-27 19:14:49

J'avais le problème de GitHub ne liant pas correctement mes commits à mon compte. Si vous pensez que votre e-mail est correct, vous devez vous assurer que l'e-mail est également dans les paramètres Github de votre compte, conformément à cette page d'aide. La dernière section de la mise en cache est également bonne à noter.

Copié en cas d'événement catastrophique dans lequel Github tombe en panne ou cesse d'exister.

Pourquoi mes commits sont-ils liés au mauvais utilisateur?

GitHub utilise l'e-mail enregistré dans un en-tête de commit pour lier le commit à un utilisateur GitHub. Si vous trouvez vos commits sont blâmés sur un autre utilisateur, ou n'est pas lié à un utilisateur, vous devriez vérifier vos paramètres.

Bon à savoir: commettre blâmer de ne pas accorder l'accès à une pension. Si vous voyez s'engage imputé à un utilisateur vous ne connaissez pas, ne vous inquiétez pas. L'utilisateur n'a pas accès à votre repo sauf si vous les avez explicitement ajoutés en tant que collaborateur sur ce repo ou à une équipe qui a accès au repo.

Faites-les correspondre

Pour que GitHub vous blâme correctement pour vos commits, assurez-vous que votre paramètre d'e-mail git est correct et correspond à un e-mail joint à votre compte.

Configuration de git

Pour vérifier votre paramètre git, exécutez cette commande:

$ git config user.email
# you@there.com

Si cet e-mail n'est pas correct, vous pouvez modifier le paramètre global:

$ git config --global user.email "me@here.com"

Bon à savoir: si vous travaillez sur plusieurs ordinateurs, vous aurez besoin de vérifier ce paramètre sur chaque un.

Joignez l'e-mail à votre compte GitHub

Si votre e-mail n'est pas attaché à votre compte GitHub, vous devrez l'Ajouter pour que vos futurs commits soient blâmés correctement.

  1. accédez aux paramètres de votre compte
  2. Cliquez Sur "Emails"
  3. Cliquez sur "Ajouter une autre adresse e-mail"
  4. Entrez l'adresse e-mail et cliquez sur "Ajouter"

Le passé est l'histoire

Si vous avez utilisé un e-mail non valide ou un e-mail déjà joint à un autre compte, alors vos commits précédents ne seront pas blâmés correctement. Bien que git vous permette de modifier l'historique du repo et de le corriger, il est fortement déconseillé de modifier les commits que vous avez poussés vers un repo distant.

Dans le cas où vos commits précédents ont utilisé l'e-mail correct, après avoir ajouté l'e-mail à votre compte, ils commenceront à créer un lien. Cependant, il peut prendre un certain temps pour que les anciennes données tombent du cache du serveur avant que cela se produise.

Aller de l'avant, si votre les paramètres correspondent alors tous vos nouveaux commits seront blâmés sur vous et liés à votre compte.

23
répondu Ethan Mick 2013-02-04 15:26:07

J'ai dû changer le fichier de configuration du référentiel. Exécuter à partir du chemin du référentiel :

> git config --local -e 

Et ajouter toute la section:

[user]
    name = Anna Kowalska
    email = anna.kowalska@wp.pl
8
répondu Ania 2013-12-05 09:53:15

Si vous avez déjà poussé vos commits avec un mauvais utilisateur, vous pouvez réécrire l'historique en utilisant ce script de github :

#!/bin/sh

git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
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

Soyez conscient des effets d'une réécriture d'historique! Si vous êtes sur une branche privée, vous serez probablement bien. Sur les branches partagées avec d'autres utilisateurs, vous devrez vous coordonner avec tous les autres utilisateurs et effectuer une extraction sur chaque clone. Vous devez décider si cela en vaut la peine. Avoir une sauvegarde!

0
répondu Mene 2017-03-13 16:39:11