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
- Vous avez de nombreux commits à corriger sur une seule branche
- Vous souhaitez trier, filtrer et consulter les dates dans Excel ou LibreOffice.
- Vous devez modifier les dates de l'auteur et du contributeur avec les décalages horaires
- Vous souhaitez un workflow export → modifier → apply simple sans écrire de scripts shell
Quand utiliser git commit --amend
- Seul le latest le commit a besoin d'une date ou d'un correctif d'auteur
- Vous n'avez pas encore poussé, ou vous êtes en train de réécrire juste le conseil
- Un one-liner suffit par exemple
GIT_AUTHOR_DATE=… GIT_COMMITTER_DATE=… git commit --amend --no-edit
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
- Seul le dernier commit (ou très peu) nécessite un changement de date
- Vous êtes déjà dans un flux rebase pour écrasement ou réorganisation
- Vous êtes à l'aise avec
git rebase -iet commandes amend
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
- L’historique complet du référentiel doit être restructuré
- Vous supprimez des secrets, divisez des dépôts ou effectuez un remappage d'auteur à grande échelle
- Les performances et la sécurité comptent plus que la commodité des feuilles de calcul
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