git-edit-date vs modifica, ribasamento, filter-branch e filter-repo

Esistono diversi modi per modificare le date git commit. Ecco un confronto onesto per aiutarti a scegliere lo strumento giusto: da git commit --amend per una modifica collettiva da commit a CSV per un intero ramo.

Tabella comparativa

git-edit-date git commit --amend rebase interattivo filter-branch filter-repo
Modifica collettiva delle date CSV nel foglio di calcolo Solo l'ultimo commit Uno commit alla volta Script del filtro ambientale della shell Script di richiamata Python
Modifica l'e-mail dell'autore Solo l'ultimo commit Manuale secondo commit filtro-env mappa di posta/richiamata
Revisione visiva prima dell'applicazione Foglio di calcolo NO NO NO NO
Curva di apprendimento Basso Basso Medio Alto Medio
Officimantenuto in modo efficiente Attivo Integrato in git Integrato in git Deprecato Sostituzione consigliata
Meglio per Correzioni collettive a livello di filiale tramite CSV Fissare solo la punta commit 1–3 commit recenti Script una tantum legacy Migrazioni complesse a livello di repository

Quando utilizzare git-edit-date

Quando usarlo git commit --amend

Modificare le fermate a uno commit. Se è necessario correggere le date in un ramo, utilizzare il Tutorial CSV invece di ripetere le interruzioni di modifica o rebase.

Quando utilizzare il rebase interattivo

Quando utilizzare filter-branch

Probabilmente non dovresti. Git officially deprecato filter-branch a favore di filter-repo. Rimane nei vecchi tutorial e nelle risposte Stack Overflow, ma la sintassi del filtro env è soggetta a errori per la riscrittura della data.

Quando utilizzare filter-repo

Per i casi complessi, filter-repo è lo strumento moderno giusto. git-edit-date vince quando desideri un foglio di calcolo e una rapida soluzione a livello di ramo.

Prova 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

Passo dopo passo: tutorial · Guide: blog · Domande comuni: Domande frequenti · Comandi: documenti