2010-11-02 14 views
130

Tengo una confirmación c. Quiero obtener el conjunto de cambios de esa metainformación de commit c + exacta y no otra. ¿Hay una manera más simple que git log -p c^..c de hacer eso?git log de una sola revisión

Respuesta

196

Puede utilizar

git show c 

(donde c es la Identificación del commit) respuesta

+3

sí, exactamente. apuntar y ganar. – zedoo

+1

'git show' es increíble. – bryanbraun

7

git log -p c -1 hace exactamente eso.

36

Michal Trybus' es la mejor para la simplicidad. Pero si usted no quiere que el diff en su salida siempre se puede hacer algo como:

git log -1 -U c 

que le dará el registro de confirmación, y luego podrás tener un control total sobre todas las opciones de registro para su git automatización. En tu caso, dijiste que querías el conjunto de cambios. La forma más legible para lograrlo sería:

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c 

O, si está utilizando una versión git mayor que 1.8.x sería:

git log --name-status --diff-filter="ACDMRT" -1 -U c 

Esto le dará resultados similar a:

commit {c} 
Author: zedoo <[email protected]> 
Date: Thu Aug 2 {time-stamp} 

    {short description} 
D zedoo/foo.py 
A zedoo/bar.py 

Por supuesto, puede filtrar los eventos lo que mejor le parezca, y formatear el retorno como desee a través de los comandos git log-tradicionales que están bien documentados here.

+9

Si no quiere el diff, haga 'git show --name-only '! – dbn

+12

Si simplemente no quiere el diff, use 'git show -s '. – moeffju

Cuestiones relacionadas