Cambiar fecha de commit Git
git-edit-date es una CLI para Linux gratuito que cambia las fechas de commit, el nombre del autor,
y correo electrónico en su rama actual. Exportar historial a CSV, editar marcas de tiempo en Excel o
LibreOffice, ejecute apply una vez: sin git commit --amend, sin rebase interactivo.
Cambie fecha del autor, fecha del committer, nombre del autor y
correo electrónico de forma masiva. Funciona para un solo commit de punta o docenas de commits en la rama actual:
incluido el historial que ya envió (con --force-with-lease).
¿Por qué CSV?
- ediciones masivas: cambiar fechas de múltiples commits en una hoja de cálculo
- Revisión visual: ordenar por fecha, detectar cambios en la zona horaria, comparar marcas de tiempo del autor y del committer
- Un comando para apply: edite CSV, ejecute
applyy listo
¿Nuevo aquí? Comience con tutorial paso a paso o lea el Preguntas frecuentes.
Ejemplo
Supongamos que su registro se ve así: correo electrónico incorrecto, marcas de tiempo en UTC en 3 am:
a1b2c3d Alice <alice@wrong.com> 2024-03-06 03:14 +0000 Fix login
e4f5a6b Alice <alice@wrong.com> 2024-03-06 03:15 +0000 Add tests
9f8e7d6 Alice <alice@work.com> 2024-03-05 14:30 +0100 Fix login
c5b4a39 Alice <alice@work.com> 2024-03-05 15:00 +0100 Add tests
Qué cambió: correo electrónico del autor y fechas. Los mensajes siguen siendo los mismos; Los hashes de commit son nuevos (reescritura del historial).
Cómo
1. Exportar la rama actual:
git-edit-date export -o commits.csv
2. Abra CSV y corrija los campos que le interesan:
author_email,author_date,committer_date
alice@wrong.com,2024-03-06T03:14:00Z,2024-03-06T03:14:00Z
alice@wrong.com,2024-03-06T03:15:00Z,2024-03-06T03:15:00Z
author_email,author_date,committer_date
alice@work.com,2024-03-05T14:30:00+01:00,2024-03-05T14:30:00+01:00
alice@work.com,2024-03-05T15:00:00+01:00,2024-03-05T15:00:00+01:00
3. Aplicar y empujar:
git-edit-date apply -file=commits.csv
git push --force-with-lease
Tutorial completo: cómo cambiar las fechas de commit git.
Cambiar fecha de autor
Git almacena dos marcas de tiempo: fecha del autor (cuando se escribió el trabajo) y
fecha del committer (cuando se creó el objeto de commit). En CSV, edite
author_date (y opcionalmente author_name /
author_email) independientemente de committer_date.
Buceo profundo: cómo cambiar la fecha del autor git · fecha de autor vs fecha de commit.
Instalar
curl -LO https://giteditdate.com/git-edit-date_amd64.deb
sudo dpkg -i git-edit-date_amd64.deb
Aviso
- Reescribe el compromiso SHAs solo en la rama actual
- Invalida las firmas GPG en commits reescritas
- Necesita
git push --force-with-leasesi la rama ya fue enviada