So ändern Sie die Commit-Daten von git

Schritt für Schritt: Installieren git-edit-date, export Ihr Zweig zu CSV, Bearbeiten Sie Daten in einer Tabelle, apply, schreiben Sie sie neu und übertragen Sie sie sicher.

Wenn Sie das brauchen

Schritt 1 – Exportieren Sie den Zweig

Von Ihrem Repo aus auf dem Zweig, den Sie umschreiben möchten:

git-edit-date export -o commits.csv

Dadurch wird der aktuelle Filialverlauf exportiert (git rev-list --reverse HEAD) in eine CSV-Datei. Nur Commits sind erreichbar von HEAD sind im Preis inbegriffen.

Schritt 2 – Bearbeiten Sie CSV

Open commits.csv in Excel, LibreOffice Calc oder einem beliebigen Tabellenkalkulationseditor.

CSV-Spalten

Für Datumsangaben wird beispielsweise das Format RFC3339 verwendet 2024-03-05T14:30:00+01:00. In den meisten Fällen möchten Sie author_date and committer_date zusammenpassen. Siehe die FAQ zum Autorendatum vs. Committer-Datum.

Vorher
author_email,author_date,committer_date
alice@wrong.com,2024-03-06T03:14:00Z,2024-03-06T03:14:00Z
Nachher
author_email,author_date,committer_date
alice@work.com,2024-03-05T14:30:00+01:00,2024-03-05T14:30:00+01:00

Sie können nur einige Zeilen bearbeiten – unveränderte Zeilen behalten ihre ursprünglichen Metadaten. Speichern Sie die Datei anschließend unter dem Namen CSV.

Schritt 3 – Auftragen und drücken

Für „Anwenden“ ist ein sauber funktionierender Baum erforderlich, es sei denn, Sie bestehen -allow-dirty:

git-edit-date apply -file=commits.csv

Überprüfen Sie das Ergebnis:

git log --format=fuller -3

Wenn der Zweig bereits gepusht wurde, aktualisieren Sie die Fernbedienung sicher:

git push --force-with-lease

Checkliste für sicheres Pushen

  1. Bestätigen Sie, dass Sie sich im richtigen Zweig befinden (git branch --show-current)
  2. Stellen Sie sicher, dass niemand sonst aktiv auf diesen Zweig drängt
  3. Use --force-with-lease, nicht nackt --force
  4. Schreiben Sie niemals freigegebene oder geschützte Zweige ohne Teamvereinbarung neu
  5. Erwarten Sie, dass GPG-Signaturen bei neu geschriebenen Commits ungültig werden

Installieren Sie git-edit-date

curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb

Befehlsreferenz: CLI-Dokumente · Häufige Fragen: FAQ · Anleitungen: mehrere Commits, Datum des Autors