Si solo desea encontrar la confirmación más reciente, entonces no desea git-log
, desea git-rev-list
, que enumera los objetos de confirmación que cambian ese archivo, en esa ruta de confirmación, comenzando con el más reciente (cronológicamente). Simplemente pon:
git rev-list -1 <commit> <filename>
Porque git-rev-list
en su caso, solo suministra:
- El número de confirmaciones para incluir, o -1 solo para el más reciente,
- La rama (o id de confirmación) para comenzar a mirar hacia atrás, HEAD si ya está en ella o --todos si desea todas las confirmaciones conocidas, y
- La ruta relativa a su archivo.
Esto solo devuelve la ID de confirmación más reciente en la rama actual para alterar ese archivo, por ejemplo: 215095e2e338525be0baeeebdf66bfbb304e7270
Para un ejemplo más complejo, puede usar nombres de etiquetas e incluso referencias remotas e incluir nombres de ruta relativos con comodines, por ejemplo:
git rev-list origin/user/bob/testbranch -1 src/bfiles/*.txt
... Lo que te diría cuál fue el cambio más reciente en la coincidencia de comodines en la historia de esa rama. Las opciones para la lista de revoluciones son extremas, es uno de los comandos de plomería más importantes, por lo que puede incluir o excluir cualquier criterio que pueda imaginar.
Por supuesto, consulte la página del manual git-rev-list (1) .
--all
opción.