git-edit-date contre amend, rebase, filter-branch & filter-repo

Il existe plusieurs façons de modifier les dates de validation de git. Voici une comparaison honnête pour vous aider à choisir le bon outil : de git commit --amend pour un commit dans les modifications groupées CSV pour une branche entière.

Tableau comparatif

git-edit-date git commit --amend interactif rebase filter-branch filter-repo
Dates de modification groupée CSV dans une feuille de calcul Dernier commit uniquement Un commit à la fois Script de filtre d'environnement Shell Script de rappel Python
Modifier l'e-mail de l'auteur Oui Dernier commit uniquement Manuel par commit env-filter plan de messagerie / rappel
Revue visuelle avant apply Feuille de calcul No No No No
Courbe d'apprentissage Faible Faible Moyenne Élevée Moyenne
Officiellement maintenu Actif Intégré à git Intégré à git Obsolète Remplacement recommandé
Idéal pour Corrections groupées au niveau de la branche via CSV Corriger le commit de pointe uniquement 1 à 3 commits récents Scripts one-off hérités Migrations complexes à l'échelle du dépôt

Quand utiliser git-edit-date

Quand utiliser git commit --amend

Amend s’arrête à un commit. Si vous devez fixer des dates dans une succursale, utiliser le Tutoriel CSV au lieu de répéter les arrêts amend ou rebase.

Quand utiliser le rebase interactif

Quand utiliser filter-branch

Vous ne devriez probablement pas. Git officiellement obsolète filter-branch en faveur de filter-repo. Il reste dans les anciens tutoriels et les réponses Stack Overflow, mais la syntaxe env-filter est sujette aux erreurs pour les réécritures de date.

Quand utiliser filter-repo

Pour les cas complexes, filter-repo est l’outil moderne idéal. git-edit-date gagne lorsque vous souhaitez une feuille de calcul et une solution rapide au niveau de la branche.

Essayez 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

Étape par étape : tutorial · Guides : blog · Questions courantes : FAQ · Commandes : docs