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
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.
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.
- accédez aux paramètres de votre compte
- Cliquez Sur "Emails"
- Cliquez sur "Ajouter une autre adresse e-mail"
- 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.
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
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!