Ich versuche mich so zu verpflichten
git commit --author='Paul Draper <[email protected]>' -m 'My commit message'
aber ich verstehe
*** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
Ich kann diese einstellen, aber ich bin auf einer freigegebenen Box und müsste sie danach deaktivieren (wollen).
git config user.name 'Paul Draper'
git config user.email '[email protected]'
git commit -m 'My commit message'
git config --unset user.name
git config --unset user.email
Das sind viele Zeilen für ein Commit!
Gibt es einen kürzeren Weg?
GIT_COMMITTER_NAME
undGIT_COMMITTER_EMAIL
(und entweder dieAUTHOR
Versionen derselben oder das--author
Argument wie Sie verwenden) festlegen , sollte dies ausreichen, und Sie müssen es nicht--unset
.git -c user.name=... -c user.email=... commit ...
Antworten:
(Dies kam mir in den Sinn, nachdem ich die lange Version mit den Umgebungsvariablen vorgeschlagen hatte. Git Commit möchte sowohl einen Autor als auch einen Committer festlegen und
--author
überschreibt nur die erstere.)Alle git-Befehle verwenden
-c
Argumente vor dem Aktionsverb, um temporäre Konfigurationsdaten festzulegen. Dies ist also der perfekte Ort dafür:In diesem Fall
-c
ist dies also Teil desgit
Befehls und nicht descommit
Unterbefehls.quelle
git -c
in Version 1.7.2 gelernt (so sehr verpasst: - :) .Sie können die
.git/config
Datei in Ihrem Repo bearbeiten , um den folgenden Alias hinzuzufügen:oder Sie können dies über die Befehlszeile tun:
Und dann können Sie tun:
Bemerkungen:
jeancommit
,georgecommit
... für die anderen Nutzer dieser gemeinsamen Box..gitconfig
oder--global
der Befehlszeile eine Option hinzufügen , wenn Sie den Alias hinzufügen.paulcommit
ist nicht kurz, aber er ist ausführlich und Sie können im Allgemeinen nurgit pau
+ eingeben tab.quelle
Es ist erwähnenswert, dass git unter Linux standardmäßig den Linux-Benutzernamen verwendet, der im Feld "gecos" in / etc / passwd angegeben ist. Sie können diesen Namen mit ausgeben
grep $(whoami) /etc/passwd | cut -d ':' -f 5
. Wenn dieses Feld leer ist, können Sie kein Commit durchführen, ohne einen Benutzernamen festzulegen. Wenn es nicht leer ist, wird es von git verwendet. Sie hätten also sich selbst als Autor und den Systembenutzer als Committer.Siehe https://github.com/git/git/blob/master/ident.c
quelle