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?

Wanneer gebruik je git commit --amend?

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?

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?

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