2011-10-07 17 views
70

¿Hay alguna forma de obtener una lista de confirmaciones de un número de confirmación dado para HEAD?¿Cómo hacer una lista de confirmaciones desde cierta confirmación?

Sé que esto es posible antes de la fecha de confirmación, pero lo necesito por el número de confirmación y no puedo encontrar la documentación, o incluso si esto es posible.

+0

¿Qué comando de Git estaba usando para enumerar las confirmaciones de un nombre de confirmación determinado? –

+0

¿Quieres decir commit hash, verdad? También puede usar "HEAD ~ 10" para significar "10 commits before HEAD" para que pueda hacer 'git log HEAD ~ 10..', si eso es lo que quiere decir con commit number. – Cascabel

Respuesta

87
git rev-list <since_hash>..HEAD 

o para incluir el cometer :

git rev-list <since_hash>^..HEAD 

Puedes usar git log en lugar de git rev-list, así como para obtener detalles adicionales.

+0

Esto funcionó perfectamente para mí, gracias! Juro que había intentado esto. Debes haber cometido un error. – ehftwelve

+0

@manojlds Sé que 'HEAD' apunta a los commits perdidos, pero ¿cuál es el significado de'^' –

+0

@KasunSiyambalapitiya'^'es un alias para el primer padre. Consulte "ESPECIFICACIÓN DE REVISIONES" en https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html. Consulte también el manual https://git-scm.com/book/es/v2/Git-Tools-Revision-Selection - o http://stackoverflow.com/questions/2221658/whats-the-difference-between-head-and-head-in-git – Michaelangel007

20

Puede ejecutar el siguiente comando git de la cáscara:

git log --pretty=oneline commit-id...HEAD 
8

Suponiendo que por "cometer número", que quiere decir cometer almohadilla:

git log <commit-hash>..HEAD 
38
git log <hash>.. 

Es la menor cantidad de tipeo. Omitir "HEAD" asume que eso es lo que querías decir. Rev-list también funcionaría.

+0

Este es mi favorito. Me gusta combinarlo con '--oneline'. En lugar de '', por supuesto, puede usar un ref como el nombre de una rama, también. – codener

Cuestiones relacionadas