2009-10-16 8 views
54

He reorganizado las confirmaciones en una rama antes de que se haga pública haciendo que las marcas de tiempo de las confirmaciones estén en un orden mixto. Prefiero que sean todos hoy con solo segundos en el medio.Cambiar marcas de tiempo al volver a configurar git branch

Obviamente, estas marcas de tiempo tampoco serán correctas, pero como este es el momento en que las cosas se hacen públicas, prefiero eso en lugar de una historia confusa, en cuanto al tiempo.

Entonces, ¿cómo le digo a git que cree nuevas marcas de tiempo mientras las modifica?

Respuesta

77
git rebase --ignore-date 
+0

Creí recordar que se trataba de configurar un poco de envvar. (De hecho, lo verifiqué en la página de manual pero no encontré nada. Pero no revisé las opciones, porque estaba tan seguro de que involucraba un envvar) – tarsius

+0

tarsius, creo que estás hablando de 'git filter- branch', pero realmente no lo necesitas para una tarea simple como esta. –

+0

Bueno, en realidad no funciona con git de la rama principal: git rebase -i --ignore actualizados a7a86fe error: opción desconocida 'ignorar actualizados' Esta costuras de un error, sin embargo: en la página de manual de este la opción en realidad está en la lista. – tarsius

20

En mi caso rebase cambió marcas de tiempo para CommitDate valor, por lo que en gitweb un montón de meses de edad compromete apareció como 4 días de edad. Encontré la última confirmación con la fecha correcta y lo hice:

$ git rebase --committer-date-is-author-date SHA 
+6

En caso de que alguien más se pregunte: '--committer-date-is-author-date' [es un alias para] (https://git-scm.com/docs/git-rebase)' --ignore-date '. – maxschlepzig

+25

No, no lo es. De hecho, es exactamente lo contrario. De los documentos de ['git rebase'] (https://git-scm.com/docs/git-rebase):" _Estos indicadores se pasan a 'git am' para cambiar fácilmente las fechas de las confirmaciones rebasadas_". En ['git am'] (https://git-scm.com/docs/git-am) dice:' --committer-date-is-author-date' "_ [...] permite al usuario mentir sobre la fecha del committer usando el mismo valor que la fecha de autor_ "while' --ignore-date' "_ [...] le permite al usuario mentir sobre la fecha del autor usando el mismo valor que la fecha del committer_" . –