J'essaie de valider certaines modifications en tant qu'utilisateur différent, mais je n'ai pas d'adresse électronique valide. La commande suivante ne fonctionne pas pour moi:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
J'ai le même problème en essayant de commettre avec seulement une adresse email
git commit --author="[email protected]" -m "some fix"
fatal: No existing author found with '[email protected]'
Sur les pages de manuel GIT pour la commande commit, il est dit que je peux utiliser le
standard A U Thor <[email protected]> format
Pour l'option --author.
Où ce format est-il défini? Que signifient A et U? Comment puis-je m'engager pour un autre utilisateur avec seulement un nom d'utilisateur ou seulement un email?
Le
standard format U Thor <[email protected]>
Semble être défini comme suit: (autant que je sache, sans aucune garantie)
A U Thor = nom d'utilisateur requis
<[email protected]> = adresse électronique facultative
Si vous n'utilisez pas cette syntaxe exacte, git recherchera dans les validations existantes et utilisera la première validation contenant la chaîne fournie.
Exemples:
Seul nom d'utilisateur
Omettez l'adresse email explicitement:
git commit --author="John Doe <>" -m "Impersonation is evil."
Seulement email
Techniquement, ce n'est pas possible. Vous pouvez cependant entrer l'adresse email comme nom d'utilisateur et explicitement omettre l'adresse email. Cela ne semble pas très utile. Je pense qu'il serait encore plus logique d'extraire le nom d'utilisateur de l'adresse e-mail, puis de l'utiliser comme nom d'utilisateur. Mais si vous devez:
git commit --author="[email protected] <>" -m "Impersonation is evil."
Je me suis précipité dessus en essayant de convertir un dépôt de Mercurial en git. J'ai testé les commandes sur msysgit 1.7.10.
Le format d’auteur minimal requis, comme indiqué dans this SO answer , =
Name <email>
Dans votre cas, cela signifie que vous voulez écrire
git commit --author="Name <email>" -m "whatever"
D'après le commentaire de Willem D'Haeseleer, si vous n'avez pas d'adresse email, vous pouvez utiliser <>
:
git commit --author="Name <>" -m "whatever"
Comme écrit sur le git commit
page de manuel à laquelle vous avez accédé, si vous fournissez autre chose que cela, il est utilisé comme un jeton de recherche pour rechercher dans les commits précédents, à la recherche d'autres commissions de cet auteur.
Le format spécifique est:
git commit --author="John Doe <[email protected]>" -m "Impersonation is evil."
Il suffit de compléter:
git commit --author = "[email protected]" -m "L'usurpation d'identité est un mal."
Dans certains cas, la validation échoue toujours et affiche le message suivant:
*** S'il vous plaît dites-moi qui vous êtes.
Courir
git config --global user.email "[email protected]" "git config --global user.name" Votre nom "
définir l'identité par défaut de votre compte. Omettre --global pour définir l'identité uniquement dans ce référentiel.
fatal: impossible de détecter automatiquement l'adresse e-mail (xxxx obtenu)
Il suffit donc de lancer "git config", puis "git commit"
Format
A U Thor <[email protected]>
signifie simplement que vous devez spécifier
FirstName MiddleName LastName <[email protected]>
Les noms de prénom et de prénom sont facultatifs (peut-être que la partie précédant l'email n'a pas du tout un format strict). Essayez par exemple ceci:
git commit --author="John <[email protected]>" -m "some fix"
Comme le dit la documentation:
--author=<author>
Override the commit author. Specify an explicit author using the standard
A U Thor <[email protected]> format. Otherwise <author> is assumed to
be a pattern and is used to search for an existing commit by that author
(i.e. rev-list --all -i --author=<author>); the commit author is then copied
from the first such commit found.
si vous n'utilisez pas ce format, git considère la chaîne fournie comme un modèle et essaie de trouver le nom correspondant parmi les auteurs d'autres commits.
Ouvrez Git Bash.
Définir un nom d'utilisateur Git:
$ git config --global user.name "name family" Confirmez que vous avez défini le nom d'utilisateur Git correctement:
$ git config --global user.name
nom famille
Définir un email Git:
$ git config --global user.email [email protected] Confirmez que vous avez configuré le courrier électronique Git correctement:
$ git config --global user.email
Exécutez ces deux commandes depuis le terminal pour définir le courrier électronique et le nom de l'utilisateur.
git config --global user.email "[email protected]"
git config --global user.name "your name"