la hora del commit #
Muchas veces, estoy enajenado y/o enrroscado y considero que no estoy para realizar el commit porque le falta algo más y suele pasar que o bien agrando la tarea o si de casualidad ya estaba listo para commitear y surgió algo por lo que tuve que alejar del teclado y se pasó la hora, o el día del commit y no esta bueno que la fecha de un commit no refleje la fecha y hora de cuando realmente se realizó (o cuando se debería haber realizado).
commit
en pausa #
Una estrategia que aprendí hace un par de años es la antes que termine
el día iniciar el commit utilizando git commit
pero dejándolo en
pausa, y a la mañana siguiente, café de por medio, un poco mas
tranquilo, redactar bien el comentario, con la ventaja de que al
terminar, la hora y fecha del commit es el día anterior, que refleja
el esfuerzo tal y como fue.
GIT_COMMITER_DATE
#
Se puede redefinir la fecha y hora de un commit antes de realizar
utilizando la variable GIT_COMMITER_DATE
, por ejemplo si quisiera
registrar que un commit se hizo ayer 2021-03-09
a la misma hora de
hoy 2021-03-10 23:52
se puede basta ejecutar de la siguiente manera:
1GIT_COMMITER_DATE="$(date -d 'now -1 days')" git commit --amend --date "$(date -d 'now -1 days')"
2
la máquina del tiempo #
Para generalizar, creé una función gct
git commit time y simplemente
especificando 25m
, 2h
, 1d
:
1function gct()
2{
3
4local D
5local N
6local T
7
8N="$(echo "$1" | grep -Eo "[0-9]+")"
9T="$(echo "$1" | grep -Eo "[a-z]+")"
10
11[[ -z "$1" ]] && exit 1
12[[ -z "$N" ]] && exit 1
13
14[[ -z "$T" ]] && T='minutes'
15[[ "$T" = 'm' ]] && T='minutes'
16[[ "$T" = 'h' ]] && T='hours'
17[[ "$T" = 'd' ]] && T='days'
18
19D="$(date -d "now -$N $T")"
20GIT_COMMITTER_DATE="$D" git commit --date "$D"
21
22}
23
ChangeLog #
2021-03-09 23:54
agregar cambiar la fecha de un commit usandoGIT_COMMITER_DATE