web-dev-qa-db-fra.com

fatal: aucun auteur existant trouvé avec 'XXX'

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?

40
user2362956

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.

44
meagar

Cette commande fera l'affaire:

git commit --amend -C HEAD --reset-author
12
Ivan Voroshilin

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'erreur

Si 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.

4
VonC