Necesito imprimir las últimas 10 confirmaciones que son anteriores a una date específica con formatting específico. Necesito manejar la date, obtenida a través del command bash:
date +"%Y%m%d%H%M"
Intenté algunas opciones, pero hasta ahora nada
eg: git log -5 --no-merges --format=format:%cd --after=201506301524
--until
utilizar --until
lugar de–después y además, el formatting de date correcto, pero puede usar la date
para convertirlo:
git log --no-merges --format=format:%cd -10 --until "$(date -d "$(echo "201506301524" | sed 's/....$/ &/')")"
$(echo "201506301524" | sed 's/....$/ &/')
convierte la date en 20150630 1524
que es un formatting de input válido para la date.
Tienes que formatear la date, solo los numbers no funcionarán. Usa uno de esos:
--after=2015-06-30-15:24:00 --after=2015-06-30:16:24:00 --after="2015-06-30 16:24:00"
Todos esos formattings fueron aceptados.
En primer lugar, debe usar el formatting de date correcto ( date +"%Y-%m-%d %H:%M:00"
):
git log --no-merges --format=format:%cd --after="2015-06-30 15:24:00"
Ahora, puedes usar --reverse
para get los commits más antiguos primero:
git log --reverse --no-merges --format=format:%cd --after="2015-06-30 15:24:00"
Lamentablemente, git log --reverse -10
no devolverá lo que usted desea, ya que mostrará los 10 últimos commits, luego invierta la list (lo que significa que obtendrá la misma list, cualquiera que sea la date especificada).
Una alternativa es usar head
en este resultado:
git log --reverse --no-merges --format=format:%cd --after="2015-06-30 15:24:00" | head -10