¿Cómo puedo determinar cuándo se creó una rama de Git?
¿ Hay alguna manera de determinar cuándo se creó una rama de Git?
Tengo una rama en mi repositorio y no recuerdo haberla creado y pensé que tal vez ver la marca de tiempo de creación me refrescaría la memoria.
Como se señala en los comentarios y en la respuesta de Jackub , siempre que su sucursal sea más reciente que la cantidad de días establecida en la configuración gc.reflogexpire
(el valor predeterminado es 90 días), puede utilizar su reflog para averiguar cuándo se hizo una referencia de sucursal. creado por primera vez.
Tenga en cuenta que git reflog
puede aceptar la mayoría de git log
las banderas. Tenga en cuenta además que los HEAD@{0}
selectores de estilo son efectivamente nociones de tiempo y, de hecho, se manejan (de una manera pirateada) como cadenas de fechas. Esto significa que puede usar la bandera --date=local
y obtener un resultado como este:
$ git reflog --fecha=local 763008c HEAD @ {viernes 20 de agosto 10:09:18 2010}: tirar: avance rápido f6cec0a HEAD@{martes 10 de agosto 09:37:55 2010}: tirar: avance rápido e9e70bc HEAD @ {jueves 4 de febrero 02:51:10 2010}: tirar: avance rápido 836f48c HEAD@{jueves 21 de enero 14:08:14 2010}: pago: pasar de maestro a maestro 836f48c HEAD @ {jueves 21 de enero 14:08:10 2010}: tirar: avance rápido 24bc734 HEAD@{miércoles 20 de enero 12:05:45 2010}: pago: pasar de 74fca6a42863ffacaf7ba6f1936a9f228950f657 74fca6a HEAD@{miércoles 20 de enero 11:55:43 2010}: pago: pasar de maestro a v2.6.31 24bc734 HEAD@{miércoles 20 de enero 11:44:42 2010}: tirar: avance rápido 964fe08 HEAD@{lunes 26 de octubre 15:29:29 2009}: pago: pasando de 4a6908a3a050aacc9c3a2f36b276b46c0629ad91 4a6908a HEAD@{lunes 26 de octubre 14:52:12 2009}: pago: pasar del maestro a v2.6.28
A veces también puede resultar útil utilizar --date=relative
:
$ git reflog --fecha=relativa 763008c HEAD@{hace 4 semanas}: tirar: avance rápido f6cec0a HEAD@{hace 6 semanas}: tirar: avance rápido e9e70bc HEAD@{hace 8 meses}: tirar: avance rápido 836f48c HEAD@{hace 8 meses}: pago: pasar de maestro a maestro 836f48c HEAD@{hace 8 meses}: tirar: avance rápido 24bc734 HEAD@{hace 8 meses}: pago: pasar de 74fca6a42863ffacaf7ba6f1936a9f228950f657 a master 74fca6a HEAD@{hace 8 meses}: pago: pasar de maestro a v2.6.31 24bc734 HEAD@{hace 8 meses}: tirar: avance rápido 964fe08 HEAD@{hace 11 meses}: pago: pasar de 4a6908a3a050aacc9c3a2f36b276b46c0629ad91 a master 4a6908a HEAD@{hace 11 meses}: pago: pasar de maestro a v2.6.28
Una última nota: la --all
bandera (que en realidad es una bandera de git-log entendida por git-reflog) mostrará los registros de todas las referencias conocidas en refs/
(en lugar de simplemente, HEAD
), lo que le mostrará los eventos de rama claramente:
git reflog --fecha=local --todos 860e4e4 refs/heads/master@{dom 19 de septiembre 23:00:30 2010}: confirmación: segundo. 17695bc refs/heads/example_branch@{lunes 20 de septiembre 00:31:06 2010}: rama: creada a partir de HEAD
Usar
git show --summary `git merge-base foo master`
Si prefieres verlo en contexto usando gitk , entonces usa
gitk --all --select-commit=`git merge-base foo master`
(donde foo es el nombre de la sucursal que está buscando).