¿Cómo puedo ignorar la información de la zona horaria en mi confirmación?

Recientemente, bifurqué un repository alojado por github, con queueboradores que se extendieron por todo el mundo, y descubrí que cada logging de commit contiene la información de la zona horaria de committer.

2013-11-07 02:31:41 +0545 <-- This committer is living in Nepal. Surely. 2013-11-04 12:58:36 -0600 <-- This committer is living in CST or Ecuador or Chili or ... 2013-10-31 10:36:36 +0700 <-- This committer is living in Indonesia or Thai or Mongolia or Laos or Australia or ... : 

Sé que es posible ocultar esto editando el formulario de salida (por ejemplo, git: timezone y formatting de timestamp ), pero esto oculta lo que realmente se guarda en el repository de github, solo desde mi ojo. La zona horaria de cada committer seguramente se guarda en el server de github.

Entonces mis preguntas:

  1. ¿Por qué es necesaria la zona horaria del committer para commits? ¿Para qué se usa esto? ¿No es suficiente el time UTC?
  2. ¿Hay alguna opción para ignorar la configuration de la zona horaria de MI computadora al realizar la confirmación? No quiero configurar la zona horaria de mi computadora en UTC, solo porque git la está implícitamente cometiendo.

Puede usar este command para confirmar en hora UTC:

 git commit --date="`date --utc +%Y-%m-%dT%H:%M:%S%z`" 

También puede alias a un nombre conveniente:

 git config --global alias.commitutc '!git commit --date="$(date --utc +%Y-%m-%dT%H:%M:%S%z)"' 

Y hacer git commitutc .

Para una explicación más detallada eche un vistazo a esta publicación de blog .

Al comprometerse, git almacena la timestamp de Unix (segundos desde 1/1/1970 UTC) y el desplazamiento local del confirmador. Puede anular el desplazamiento, pero también debe proporcionar la date.

 git commit --date 1401179025 -0700 

Se admiten múltiples formattings, como se documenta aquí . Prefiero el formatting ISO-8601, que es así:

 git commit --date 2014-05-27T01:23:45-07:00 

Puede establecer el desplazamiento como lo desee. Use cero para UTC. Personalmente, creo que esto es innecesario. En realidad, networkinguce la cantidad de información en el logging. Es posible que solo le importe el momento exacto en el time, pero quizás a uno también le importe la hora de ese compromiso particular. Por ejemplo, tal vez le gustaría saber si esa persona cometió temprano en la mañana o tarde en la noche. Si no almacena el desplazamiento local, entonces esa información se pierde y almacenarla no duele.

Si su principal preocupación es que ver el logging de git no alinea todas las confirmaciones en una única zona horaria, considere ajustar el resultado del logging utilizando las opciones de date en el command de logging :

 git log --date=local 

Lo anterior usa los desplazamientos de compromiso para ajustar la date de compromiso a su propia zona horaria local.

No vi nada que lo ajuste a UTC directamente, pero podría establecer su propia zona horaria a UTC y luego usar este command.