Cambiar TODAS las dates de compromiso en GIT

¿Hay alguna manera de que pueda cambiar todas las dates de confirmación en GIT restando, digamos una semana, de todas las dates?

Al igual que, en lugar de mostrar "En la date Jue, 10 de septiembre de 2012, el USUARIO se comprometió …" Me gustaría que dijera "En la date Mon, 3 de septiembre de 2012, el USUARIO se comprometió …"

Esto es solo para un repository GIT. ¡Gracias!

Sí, puedes hacer esto con git filter-branch . Sin embargo, tenga en count que esto afectará a todos los valores hash, todas las confirmaciones se volverán a crear y se reescribirá la historia del informe. Entonces, puede ser peligroso.

Debería usar git filter-branch con un filter env que establece las variables GIT_AUTHOR_DATE y GIT_COMMITTER_DATE. En github hay un script de ejemplo para cambiar la información del autor para todas las confirmaciones ; es algo similar, solo necesitarías usar las variables que mencioné en su lugar, así como implementar una lógica que decida en base a una date dada cuál fue la date a hace una semana.

Advertencia final: si alguien ya ha trabajado con ese repository, las cosas pueden complicarse. De la página de github:

Esta acción es destructiva para la historia de su repository. Lo mejor es hacer esto en un clon, por las dudas. También ten en count que esto no se debe realizar en un repository que se haya compartido con otros. Úselo bajo su propio riesgo.

La mayoría de los ejemplos están basados ​​en scripts de shell (como eis answer), que IMO podría complicarse si está haciendo aritmética de dates (por ejemplo, eche un vistazo a la aritmética de dates en los scripts de shell de Unix ).

He encontrado una solución más legible al combinar git filter-branch con la gem ruby-git de schacon (que es increíble, pero AFAIK no tiene funciones de reescritura). Ruby se utiliza para recorrer el historial de git y aplicar la aritmética de date / hora, lo que es realmente agradable con ActiveSupport , por ejemplo, +6 meses actual + 6.months

Ver mi script en https://gist.github.com/rodowi/2bc0c3cff0d749121453