Ich möchte dies für ein Skript tun können. Ich erstelle im Wesentlichen den gesamten Versionsverlauf eines Codes in Git neu - derzeit wird ein anderes Versionskontrollsystem verwendet. Ich benötige das Skript, um die Commits zu Git hinzufügen zu können, während der ursprüngliche Autor (und das Datum) des Commits beibehalten werden.
Angenommen, ich kenne den Commit-Autor und das Datum / die Uhrzeit der Änderung. Gibt es einen Git-Befehl, mit dem ich dies tun kann? Ich gehe davon aus, dass dies der Fall ist, da git-p4 etwas Ähnliches tut. Ich frage nur nach dem besten Weg, es zu tun.
git
command-line
commit
Carl
quelle
quelle
Antworten:
Überprüfen Sie die
--author
Option fürgit commit
:Von der Manpage :
quelle
--date
Option, das Datum zu überschreiben.git commit -a --author="$user_details" --date="submit_date $submit_time" --file=/tmp/commit_msg
Nur um dies hinzuzufügen: Die
--author
in der akzeptierten Antwort erwähnte Option überschreibt nur den Autor , nicht die Committer- Informationen des Commits.Dies ist in den meisten Fällen das richtige Verhalten. Wenn Sie jedoch aus irgendeinem Grund die Committer-Informationen auch manuell überschreiben müssen , verwenden Sie die Variablen
GIT_COMMITTER_NAME
und und dieGIT_COMMITTER_EMAIL
Umgebungsvariablen (es gibt auch eineGIT_COMMITTER_DATE
). Siehe Git-Internals-UmgebungsvariablenDadurch sieht das Commit so aus, als ob es vom angegebenen Benutzer erstellt und festgeschrieben wurde.
quelle
git log --pretty=fuller
Bearbeiten Sie Ihre ~ / .gitconfig-Datei und fügen Sie einen neuen Alias hinzu, in dem Sie einen nicht standardmäßigen Benutzer und eine E-Mail-Adresse anpassen können.
Probier es aus
quelle