todos - ver cambios en un archivo git
¿Hay un comando Git rápido para ver una versión anterior de un archivo? (7)
Además de la respuesta de Jim Hunziker ,
Puede exportar el archivo de la revisión como,
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt
Espero que esto ayude :)
¿Hay un comando en Git para ver (ya sea volcado a stdout, o en $PAGER
o $EDITOR
) una versión particular de un archivo en particular?
Hacer esto por fecha se ve así:
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
Tenga en cuenta que HEAD@{2013-02-25}
significa "donde HEAD estaba en 2013-02-25" en este repositorio (usando el registro ), no "la última confirmación antes de 2013-02-25 en esta rama en la historia".
Puede usar un script como este para volcar todas las versiones de un archivo a archivos separados:
p.ej
git_dump_all_versions_of_a_file.sh path/to/somefile.txt
Obtenga el script aquí como respuesta a otra pregunta similar
Puedes usar git show
:
$ git show REVISION:path/to/file
Reemplace REVISION con su revisión real (podría ser un SHA de confirmación de Git, un nombre de etiqueta, un nombre de sucursal, un nombre de confirmación relativo o cualquier otra forma de identificar una confirmación en Git)
Por ejemplo, para ver la versión del archivo src/main.c
desde hace 4 confirmaciones, use:
$ git show HEAD~4:src/main.c
Tenga en cuenta que la ruta es desde la raíz del repositorio a menos que comience con ./ o ../ para indicar una ruta relativa. Git para Windows requiere barras diagonales incluso en rutas relacionadas con el directorio actual. Para más información, echa un vistazo a la página de manual de git-show
.
Si te gustan las GUIs, puedes usar gitk:
iniciar gitk con:
gitk /path/to/file
Elija la revisión en la parte superior de la pantalla, por ejemplo, por descripción o fecha. Por defecto, la parte inferior de la pantalla muestra la diferencia para esa revisión, (correspondiente al botón de radio "parche").
Para ver el archivo de la revisión seleccionada:
- Haga clic en el botón de "árbol". Esto mostrará la raíz del árbol de archivos en esa revisión.
- Profundiza en tu archivo.
También puede especificar un commit hash
(a menudo también llamado commit ID
) con el comando git show
.
En una palabra
git show <commitHash>:/path/to/file
Paso a paso
- Muestra el registro de todos los cambios para un archivo dado con
git log /path/to/file
- En la lista de cambios mostrada, muestra el
commit hash
, como elcommit 06c98...
(06c98 ... siendo el hash de commit) - Copia el
commit hash
- Ejecute el comando
git show <commitHash>:/path/to/file
usando elcommit hash
decommit hash
del paso 3 y lapath/to/file
del paso 1.
Nota: agregar el ./
al especificar una ruta relativa parece importante, es decir, git show b2f8be577166577c59b55e11cfff1404baf63a84:./flight-simulation/src/main/components/nav-horiz.html
.
git log -p
le mostrará no solo los registros de confirmación sino también la diferencia de cada confirmación (excepto las combinaciones de combinación). Luego puede presionar /
, ingresar el nombre del archivo y presionar enter
. Presione n
o p
para ir a la ocurrencia siguiente / anterior. De esta manera, no solo verá los cambios en el archivo, sino también la información de confirmación.