2009-12-29 20 views
16

Tengo un repositorio de Git con aproximadamente dos años de historia en él. Tengo un archivo único en el que deseo encontrar todas las confirmaciones y para cada confirmación: todos los demás archivos que se han confirmado. Supongamos que este archivo se llama file.txt. Puedo ejecutar gitk con este archivo como argumento:¿Cómo ver las confirmaciones completas al rastrear el historial de un solo archivo en Git?

gitk file.txt 

y obtengo cada confirmación. Sin embargo, explorar ese árbol en gitk solo muestra los cambios realizados en file.txt. Me gustaría ver qué otros archivos se modificaron en esa confirmación. Puedo copiar y pegar cada confirmación SHA1 y mostrarla, pero hay más de cientos de confirmaciones relacionadas con este archivo.

Noto que la sección "comentarios" en la parte inferior derecha de la pantalla está vacía (solo muestra el texto "Comentarios"). ¿Tal vez una lista de archivos podría mostrarse allí?

+0

Para EOL otro lugar donde ver http://unix.stackexchange.com/questions/10277/ignore-whitespaces-changes-in-all-git-commands –

Respuesta

15

En la línea de comandos,

git log -p --full-diff file.txt 

dará salida a lo que desea.

Si debe verlo en gitk, invocarlo con no argumentos, encuentre la confirmación "touch path" file.txt, y la confirmación contiene ese archivo en negrita. Y puede usar los botones "arriba" y "abajo" para recorrerlo.

+0

He editado mi respuesta, espero que sea lo que quiere . – iamamac

+0

¡Excelente! Exactamente lo que necesito Muchas gracias (lo siento, solo puedo votar y aceptarlo) –

7

En realidad, puede tener la funcionalidad '--full-diff' en gitk, pero no directamente desde la línea de comandos. Sólo haga lo siguiente:

  • inicio gitk la forma habitual, por ejemplo .: gitk file.txt
  • Seleccione 'Ver -> Editar vista ...' en el menú. Verifique que está editando la vista 'Línea de comando'.
  • En el cuadro de edición junto a "Argumentos adicionales para el registro de git", escriba --full-diff
  • Haga clic en "Aplicar" o presione [F5].

Eso debería hacerlo. Por qué gitk no te permite usar esto desde la línea de comandos es un misterio para mí, ya que es una opción muy útil.

3

Otra solución de la lista de correo de fecha muy atrás en 2008:

Prueba a desactivar la opción "diffs límite a rutas de acceso" en el menú preferencias (o la adición de "set limitdiffs 0" a su ~ /.gitk).

+0

esta es la única solución que funciona para mí ... el ~/.gitk no funciona, pero el cambio en las preferencias funciona bien – nayana

Cuestiones relacionadas