Ich versuche, einige Änderungen als anderer Benutzer festzuschreiben, habe jedoch keine gültige E-Mail-Adresse. Der folgende Befehl funktioniert bei mir nicht:
git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'
Ich habe das gleiche Problem, wenn ich versuche, nur eine E-Mail-Adresse festzulegen
git commit --author="[email protected]" -m "some fix"
fatal: No existing author found with '[email protected]'
Auf den GIT-Manpages für den Commit-Befehl steht, dass ich den verwenden kann
standard A U Thor <[email protected]> format
Für die Option --author.
Wo ist dieses Format definiert? Wofür stehen A und U? Wie kann ich mich für einen anderen Benutzer mit nur einem Benutzernamen oder nur einer E-Mail festlegen?
Antworten:
Das minimal erforderliche Autorenformat, wie in dieser SO-Antwort angedeutet , ist
In Ihrem Fall bedeutet dies, dass Sie schreiben möchten
Laut Willem D'Haeseleers Kommentar können Sie Folgendes verwenden, wenn Sie keine E-Mail-Adresse haben
<>
:Wie auf der
git commit
Manpage beschrieben , auf die Sie verlinkt haben, wird es, wenn Sie weniger als das angeben, als Such-Token verwendet, um frühere Commits zu durchsuchen und nach anderen Commits dieses Autors zu suchen.quelle
"name <>"
undgit commit --amend
danach verwenden, schlägt dies mit eineminvalid ident
Fehler fehl .Das spezifische Format ist:
quelle
Das
Scheint wie folgt definiert zu sein: (soweit ich weiß, ohne jegliche Garantie)
AU Thor = erforderlicher Benutzername
<[email protected]> = optionale E-Mail-Adresse
Wenn Sie diese exakte Syntax nicht verwenden, durchsucht git die vorhandenen Commits und verwendet das erste Commit, das Ihre angegebene Zeichenfolge enthält.
Beispiele:
Nur Benutzername
Lassen Sie die E-Mail-Adresse explizit weg:
Nur E-Mail
Technisch ist das nicht möglich. Sie können jedoch die E-Mail-Adresse als Benutzernamen eingeben und die E-Mail-Adresse explizit weglassen. Dies scheint nicht sehr nützlich zu sein. Ich denke, es wäre noch sinnvoller, den Benutzernamen aus der E-Mail-Adresse zu extrahieren und diesen dann als Benutzernamen zu verwenden. Aber wenn Sie müssen:
Ich bin darauf gestoßen, als ich versucht habe, ein Repository von mercurial in git zu konvertieren. Ich habe die Befehle auf msysgit 1.7.10 getestet.
quelle
Einfach ergänzen:
In einigen Fällen schlägt das Festschreiben immer noch fehl und zeigt die folgende Meldung an:
Führen Sie einfach "git config" und dann "git commit" aus.
quelle
Format
bedeuten einfach, dass Sie angeben sollten
Es sieht so aus, als wären Vor- und Nachnamen optional (möglicherweise hat der Teil vor der E-Mail überhaupt kein striktes Format). Versuchen Sie zum Beispiel Folgendes:
Wie die Dokumente sagen:
Wenn Sie dieses Format nicht verwenden, behandelt git die angegebene Zeichenfolge als Muster und versucht, einen passenden Namen unter den Autoren anderer Commits zu finden.
quelle
Die
--author
Option funktioniert nicht:Das macht:
quelle
git commit -c user.name="j bloggs" -am "message"
gibt einen Fehlerfatal: Option -m cannot be combined with -c/-C/-F
Öffnen Sie Git Bash.
Legen Sie einen Git-Benutzernamen fest:
$ git config --global user.name "name family" Bestätigen Sie, dass Sie den Git-Benutzernamen richtig eingestellt haben:
$ git config --globaler Benutzername
Stellen Sie eine Git-E-Mail ein:
$ git config --global user.email [email protected] Bestätigen Sie, dass Sie die Git-E-Mail richtig eingestellt haben:
$ git config --global user.email
quelle
Es hängt alles davon ab, wie Sie sich verpflichten.
Beispielsweise:
git commit -am "Some message"
wird Ihren
~\.gitconfig
Benutzernamen verwenden. Mit anderen Worten, wenn Sie diese Datei öffnen, sollte eine Zeile angezeigt werden, die folgendermaßen aussieht:Das wäre die E-Mail, die Sie ändern möchten. Wenn Sie eine Pull-Anfrage über Bitbucket oder Github usw. ausführen, sind Sie derjenige, als den Sie angemeldet sind.
quelle
Eine Alternative, wenn es darum geht, die echte E-Mail-Adresse zu verbergen ... Wenn Sie sich zu Github verpflichten, benötigen Sie keine echte E-Mail, die Sie verwenden können
<username>@users.noreply.github.com
Unabhängig davon, ob Sie Github verwenden oder nicht, möchten Sie wahrscheinlich zuerst Ihre Committer- Details ändern (unter Windows
SET GIT_...
).Stellen Sie dann den Autor ein
https://help.github.com/articles/keeping-your-email-address-private
quelle
Führen Sie diese beiden Befehle vom Terminal aus, um die E-Mail-Adresse und den Namen des Benutzers festzulegen
quelle