git-edit-date versus amend, rebase, filter-branch & filter-repo
Er zijn verschillende manieren om git commitdatums te wijzigen.
Hier volgt een eerlijke vergelijking om je te helpen het juiste hulpmiddel te kiezen —
van git commit --amend voor één commit tot CSV-bulkbewerkingen voor een hele branch.
Vergelijkingstabel
| git-edit-date | git commit --amend | interactive rebase | filter-branch | filter-repo | |
|---|---|---|---|---|---|
| Datums in bulk bewerken | CSV in spreadsheet | Alleen laatste commit | Eén commit tegelijk | Shellscript met env-filter | Python-callbackscript |
| E-mailadres van auteur bewerken | Ja | Alleen laatste commit | Handmatig per commit | env-filter | mailmap / callback |
| Visuele controle vóór apply | Spreadsheet | Nee | Nee | Nee | Nee |
| Leercurve | Laag | Laag | Gemiddeld | Hoog | Gemiddeld |
| Officieel onderhouden | Actief | Ingebouwd in git | Ingebouwd in git | Verouderd | Aanbevolen vervanging |
| Meest geschikt voor | Bulkcorrecties op branchniveau via CSV | Alleen de tipcommit corrigeren | 1–3 recente commits | Oude eenmalige scripts | Complexe migraties van een hele repository |
Wanneer gebruik je git-edit-date?
- Je moet veel commits op één branch corrigeren
- Je wilt datums in Excel of LibreOffice sorteren, filteren en controleren
- Je moet zowel auteurs- als committerdatums met tijdzone-offsets wijzigen
- Je wilt een eenvoudige workflow van export → bewerken → apply zonder shellscripts te schrijven
Wanneer gebruik je git commit --amend?
- Alleen de laatste commit heeft een gecorrigeerde datum of auteur nodig
- Je hebt nog niet gepusht of vindt het prima om alleen de tip te herschrijven
- Een one-liner is voldoende, bijvoorbeeld
GIT_AUTHOR_DATE=… GIT_COMMITTER_DATE=… git commit --amend --no-edit
Amend stopt bij één commit. Als je datums op een hele branch moet corrigeren, gebruik dan de CSV-tutorial in plaats van amend of rebase-stops te herhalen.
Wanneer gebruik je interactive rebase?
- Alleen de laatste commit (of enkele commits) heeft een datumwijziging nodig
- Je gebruikt al een rebase-workflow om commits samen te voegen of te herschikken
- Je bent vertrouwd met
git rebase -ien amend-commando's
Wanneer gebruik je filter-branch?
Waarschijnlijk niet. Git heeft filter-branch officieel als verouderd aangemerkt
ten gunste van filter-repo. Je vindt het nog in oude tutorials en Stack Overflow-antwoorden,
maar de env-filter-syntaxis is foutgevoelig bij het herschrijven van datums.
Wanneer gebruik je filter-repo?
- De geschiedenis van de hele repository moet worden geherstructureerd
- Je verwijdert geheimen, splitst repositories of wijzigt auteurs op grote schaal
- Prestaties en veiligheid zijn belangrijker dan het gemak van een spreadsheet
Voor complexe gevallen is filter-repo het juiste moderne hulpmiddel. git-edit-date is beter als je een spreadsheet en een snelle correctie op branchniveau wilt.
Probeer git-edit-date
curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb
git-edit-date export -o commits.csv
Stap voor stap: tutorial · Handleidingen: blog · Veelgestelde vragen: FAQ · Commando's: docs