J'ai utilisé git pour la première fois et j'ai défini mon nom d'utilisateur et ma messagerie d'utilisateur. Les commandes que j'ai utilisées sont ci-dessous:
git config --global user.email "[email protected]"
git config user.email "[email protected]"
git config --global user.name "bob"
git config user.name "bob"
Quand je lance git commit --author "bob"
, J'ai une erreur fatal: No existing author found with 'bob'
. Comment puis-je définir le nom d'utilisateur et l'e-mail?
Vous devez cesser d'utiliser --author
Chaque fois que vous vous engagez, et configurer à la place un auteur avec git config
. Une fois cela fait, vous pouvez taper git commit
Et l'auteur sera extrait de votre fichier .gitconfig
.
Si vous souhaitez donner à --author
Un nom à utiliser pour créer le commit, vous devez utiliser
bob <[email protected]>
pas seulement bob
. Si votre chaîne d'auteur ne correspond pas au format user <[email protected]>
, Git suppose que vous lui avez donné un modèle de recherche et essaiera de trouver des validations avec les auteurs correspondants. Il utilisera le user <[email protected]>
Du premier commit trouvé comme auteur.
Cette commande fera l'affaire:
git commit --amend -C HEAD --reset-author
Remarque: à partir de Git 2.3.1+ (Q1/Q2 2015), le message d'erreur sera plus explicite.
Voir commit 1044b1f par Michael J Gruber (mjg
) :
commit
: reformuler--author
Message d'erreurSi un
--author
l'argument est spécifié mais ne contient pas de '>
'puis git essaie de trouver l'argument parmi les auteurs existants; et donne le message d'erreur "No existing author found with '%s'
"s'il n'y a pas de correspondance.C'est déroutant pour les utilisateurs qui essaient de spécifier un nom d'auteur complet valide.
Renommez le message d'erreur pour indiquer plus clairement que l'échec a deux raisons dans ce cas.
La solution reste d'avoir les config user.name et user.email correctement définis, mais dans le cas où --author
est utilisé, au moins l'argument attendu est maintenant plus clair.