2010-02-09 23 views
235

Solo quiero ver los archivos que se han confirmado en la última confirmación exactamente como vi la lista cuando lo hice git commit. Por desgracia, la búsqueda deGit: ver mi última confirmación

git "last commit" log 

en Google me lleva a ninguna parte. Y

git diff HEAD^..HEAD 

no es lo que necesito, por supuesto, ya que arroja las tripas del cambio también.

+19

Gracias, en realidad solo necesitaba 'git diff HEAD^.. HEAD'! – Ameen

+3

@Ameen genial, muchas veces la respuesta que uno está buscando está en la pregunta sobre SO. –

+1

@DanRosenstark especialmente en las preguntas bien investigadas. – Robino

Respuesta

237

Según se determinó a través de comentarios, parece que el PO está buscando

$ git log --name-status HEAD^..HEAD 

Esto también está muy cerca de la salida se obtendría a partir svn status o svn log -v, que muchas personas que vienen de subversion a git están familiarizados.

--name-status es la clave aquí; como lo mencionaron otras personas en esta pregunta, puede usar git log -1, git show y git diff para obtener el mismo tipo de resultado. Personalmente, tiendo a usar git show <rev> al mirar las revisiones individuales.

+100

Esto se puede abreviar como 'git show --name-status' –

+0

Lo admito, los comentarios no son la mejor manera para que haga mi limpieza de preguntas :) gracias MikeSep –

+1

Creo que esto da EL último compromiso, ¿no? Así que, para MI último, haría 'git log --stat --author nroose -n 1' – nroose

126

Uso git show:

git show --summary 

Esto mostrará los nombres de los archivos creados o eliminados, pero no los nombres de los archivos cambiado. El comando git show admite una amplia variedad de formatos de salida que muestran varios tipos de información sobre confirmaciones.

+45

O 'git show --stat'. – jamessan

+0

@jamessan 'git show --stat' está cerca, pero ¿no hay una vista donde aparece la palabra 'modificado' o 'agregado' al lado del archivo? –

+2

Si solo desea los nombres de los archivos (incluso menos que '--stat'), también puede consultar los conmutadores' --name-status' y '--name-only'. – MikeSep

9
$ git diff --name-only HEAD^..HEAD

o

$ git log --name-only HEAD^..HEAD
+0

Eso es lo que necesito más o menos. ¿Qué tal algo que dice si fue modificado, agregado o eliminado? Tal vez con una letra, svn-style? –

+1

Entendido ahora. 'git log --name-status HEAD^.. HEAD' –

+2

En lugar de' git log ... HEAD^.. HEAD', no es más sencillo usar 'git log ... -1 HEAD', o mejor 'git show ... HEAD'? –

63
git log -1 --stat 

podría funcionar

+0

super cosas fácil uno – Sajeetharan

18
git log -1 --name-status 

hace el trabajo por mí.

30

Con mucho, el comando más simple para esto es:

git show --name-only 

Como enumera sólo los archivos de la última confirmación y no le da enteras las agallas

Un ejemplo de el ser de salida:

commit fkh889hiuhb069e44254b4925d2b580a602 
Author: Lord Vader <[email protected]> 
Date: Sat May 4 16:50:32 2168 -0700 

Changed shield frequencies to prevent Millenium Falcon landing 

www/controllers/landing_ba_controller.php     
www/controllers/landing_b_controller.php    
www/controllers/landing_bp_controller.php    
www/controllers/landing_h_controller.php    
www/controllers/landing_w_controller.php 
www/htdocs/robots.txt       
www/htdocs/templates/shields_FAQ.html  
+5

Considere '--name-status' en lugar de '--name-only'. –

+5

Aquí está el problema ... ¡el imperio usa php para la red de defensa! – ptim

+3

¡El mejor ejemplo que he visto en stackoverflow! "Esos no son los compromisos que estás buscando". –

5

git diff --stat HEAD

Esto muestra el mismo diffstat que su última confirmación.

19

Para ver última confirmación

git log -1 

Para ver el pasado 2 de cometer

git log -2 

etc ....

+0

no muestra los archivos – Sajeetharan

+0

Solo se muestran los comentarios –

1

Después de hacer varias confirmaciones o clonar/extraer un repositorio, es posible que desee ver qué compromisos se han realizado, simplemente marque estas soluciones simples para ver su historial de confirmaciones (desde la última/reciente confirmación hasta la primera).

Por último commit solo use este comando git log -1, para cosas más interesantes ver abajo -

  1. Para ver el ID de comprometerse (SHA-1 checksum), el nombre del autor, fecha junto con el tiempo y el mensaje de registro -

    git log 
    
  2. Para ver algunos más estadísticas, tales como los nombres de todos los archivos cambiado durante ese cometer, número de inserciones/deleciones. Esto es muy útil al revisar el código -

    git log --stat 
    
  3. Para ver historias cometen en algunos formatos bonitas :) (Esto es seguido por algunas de las opciones pre compilados) -

    • Si usted tiene demasiados se compromete a revisar, este comando se mostrará en una sola línea ordenada

      git log --pretty=oneline 
      
    • para ver corto, medio, completo o incluso más detalles de su uso tras cometer el respeto ively -

      git log --pretty=short 
      git log --pretty=medium 
      git log --pretty=full 
      git log --pretty=fuller 
      
  4. Usted puede incluso utilizar su propio formato de salida usando format opción -

    git log --pretty=format:"%an, %ae - %s" 
    

    donde% an - nombre del autor,% e - mail autor,% s - tema de cometió, etc.

Esto le puede ayudar con sus historias para cometer más información haga clic here.

Cuestiones relacionadas