Git-commitdatums wijzigen

Stap voor stap: installeer git-edit-date, exporteer je branch naar CSV, bewerk datums in een spreadsheet, pas de herschrijving toe en push veilig.

Wanneer heb je dit nodig?

Stap 1 — Exporteer de branch

Vanuit je repository, op de branch die je wilt herschrijven:

git-edit-date export -o commits.csv

Hiermee wordt de geschiedenis van de huidige branch (git rev-list --reverse HEAD) naar een CSV-bestand geëxporteerd. Alleen commits die vanuit HEAD bereikbaar zijn, worden opgenomen.

Stap 2 — Bewerk de CSV

Open commits.csv in Excel, LibreOffice Calc of een andere spreadsheet-editor.

CSV-kolommen

Datums gebruiken de RFC3339-indeling, bijvoorbeeld 2024-03-05T14:30:00+01:00. Meestal wil je dat author_date en committer_date gelijk zijn. Lees de FAQ over auteursdatum versus committerdatum.

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

Je kunt slechts enkele rijen bewerken — ongewijzigde rijen behouden hun oorspronkelijke metadata. Sla het bestand na afloop op als CSV.

Stap 3 — Pas toe en push

apply vereist een schone working tree, tenzij je -allow-dirty meegeeft:

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

Controleer het resultaat:

git log --format=fuller -3

Als de branch al was gepusht, werk je de remote veilig bij:

git push --force-with-lease

Checklist voor veilig pushen

  1. Controleer of je op de juiste branch zit (git branch --show-current)
  2. Zorg dat niemand anders actief naar deze branch pusht
  3. Gebruik --force-with-lease, niet alleen --force
  4. Herschrijf nooit gedeelde of beveiligde branches zonder instemming van het team
  5. Houd er rekening mee dat GPG-handtekeningen op herschreven commits ongeldig worden

git-edit-date installeren

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

Commandoreferentie: CLI-docs · Veelgestelde vragen: FAQ · Handleidingen: meerdere commits, auteursdatum