418 Stimmen

Aktualisieren des Git-Commit-Autor-Datums beim Ändern

Ich ertappte mich dabei, dass ich meine Commits ziemlich oft änderte. Ich tue nicht stash Das liegt daran, dass ich oft vergesse, was ich gemacht habe, vor allem, wenn ich das, was ich gemacht habe, vor meiner Abreise oder vor einem Wochenende speichern möchte. Das Problem ist nur, dass, wenn ich die Übertragung ändere, sie immer noch auf das ursprüngliche Autorendatum eingestellt ist. Gibt es eine (einfache) Möglichkeit, es beim Ändern zu aktualisieren?

462voto

Mark Longair Punkte 412179

Sie können das Autorendatum mit dem Befehl --date Parameter zu git commit . Wenn Sie also die letzte Übertragung ändern und das Autorendatum auf das aktuelle Datum und die aktuelle Uhrzeit aktualisieren möchten, können Sie dies tun:

git commit --amend --date="$(date -R)"

(Die -R Parameter zu date weist es an, das Datum im RFC 2822-Format auszugeben. Dies ist eine der Datumsformate, die von git commit .)

434voto

Kamal Punkte 6580

Ab Git v2.1.4 (getestet unter Debian 8 (Jessie))

git commit --amend --date=now

319voto

Rup Punkte 32603

Eine andere Möglichkeit ist

git commit --amend --reset-author

Dies ändert sowohl den Commit-Autor als auch das Datum - aber wenn es ursprünglich Ihr nicht gepushter Commit war, ist das ein No-op.

Sie können auch Folgendes hinzufügen --no-edit wenn Sie das Datum mehrerer Übertragungen aktualisieren wollen, die Übertragungen aber unberührt bleiben sollen. Auf diese Weise werden Sie nicht aufgefordert, die Nachricht für jeden Commit zu bearbeiten.

24voto

JLarky Punkte 9015

Ich mag die Antwort von Mark und habe sie selbst mehrmals verwendet, aber jetzt arbeite ich mit OS X und date -R wird nicht unterstützt. Aber alles ist viel einfacher, als die ursprüngliche Antwort vermuten ließ, verwenden Sie einfach leere Zeichenkette !

git commit --date= --amend

UPDATE:

Sie können auch versuchen

git commit --date="$(date)" --amend

Oder in neuen Versionen von git

git commit --date=now --amend

3voto

Kareem Elbahrawy Punkte 513

Ich habe dieses npm-Paket erstellt, falls jemand noch nach einer einfachen Möglichkeit sucht, das Datum von mehreren Commits zu ändern.

https://github.com/bitriddler/git-change-date

Verwendung:

npm install -g git-change-date
cd [your-directory]
git-change-date

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X