¿Cómo obtengo una vista previa de los contenidos ocultos en Git?

6 minutos de lectura

avatar de usuario
benjol

Quiero inspeccionar un alijo y averiguar qué cambios haría si lo aplicara al árbol de trabajo en su estado actual.

Sé que puedo hacer un git diff en el alijo, pero esto me muestra todas las diferencias entre el árbol de trabajo y el alijo, mientras que solo me interesa saber qué va a cambiar la aplicación del alijo.

  • salida diferencial coloreada: git stash show -p [email protected]{1} >~/.diff && vim ~/.diff (no tiene que ser vim. cualquier editor de texto, siempre que su editor de texto tenga soporte de resaltado de sintaxis para diff producción).

    – Trevor Boyd Smith

    11 de agosto de 2017 a las 13:46

  • Tenga en cuenta que si usa Visual Studio, puede simplemente hacer doble clic en la entrada oculta desde la ventana Git Changes para obtener una vista previa de los cambios que haría la función oculta.

    – bobobobo

    3 de noviembre de 2021 a las 15:00

avatar de usuario
Jlew

git stash show le mostrará los archivos que cambiaron en su alijo más reciente. Puedes agregar el -p opción para mostrar la diferencia.

git stash show -p

Si el alijo que le interesa no es el más reciente, agregue el nombre del alijo al final del comando:

git stash show -p [email protected]{2}

  • Usar git stash show -p [email protected]{0} para ver un alijo específico. 0 muestra el último tono, 1 el penúltimo, etc. git stash list mostrará todos los disponibles.

    – brita_

    18 de julio de 2014 a las 21:13

  • Si está utilizando PowerShell, deberá poner el nombre oculto entre comillas. (es decir: git stash show -p '[email protected]{0}')

    – scott-pascoe

    30 de julio de 2014 a las 18:57

  • Véase también En git, ¿hay alguna forma de mostrar sin seguimiento archivos escondidos sin aplicar el alijo

    – Randall

    9 de junio de 2016 a las 15:13


  • Si desea guardar diferencias en el uso del archivo git stash show -p [email protected]{0}> stash.txt

    – S_K

    14 de febrero de 2019 a las 9:19

  • En 2019 solo puedes escribir git stash show [-p] [stash index number]

    – cosa necesaria

    25 de noviembre de 2019 a las 12:13

avatar de usuario
defecto de segmento

Para ver una lista actual de alijo:

git stash list

Verás una lista como esta:

[email protected]{0}: WIP on ...
[email protected]{1}: ...
[email protected]{2}: ...
...

Para ver la diferencia en cualquiera de esos alijos:

git stash show -p [email protected]{n}

avatar de usuario
jeff sala

Soy un fan de gitkLa interfaz gráfica de usuario para visualizar los repositorios de Git. Puede ver el último elemento escondido con:

gitk stash

También puede usar ver cualquiera de sus cambios ocultos (como se enumeran en git stash list). Por ejemplo:

gitk [email protected]{2}

En la siguiente captura de pantalla, puede ver el alijo como una confirmación en la parte superior izquierda, cuándo y de dónde vino en el historial de confirmación, la lista de archivos modificados en la parte inferior derecha y la diferencia línea por línea en la parte inferior. -izquierda. Todo mientras el alijo todavía está escondido.

gitk viendo un alijo

  • Puede proporcionar varios [email protected]{X} valores en la línea de comandos para ver más resultados a la vez, pero no he encontrado una manera simple de decir simplemente ‘mostrar todas las entradas ocultas’ en gitk.

    –Brent Bradburn

    3 de junio de 2014 a las 17:59

  • gitk stash parece ser una abreviatura de gitk [email protected]{0}

    – Leif Grünwoldt

    04/06/2014 a las 17:49

  • para mostrar todos los escondites en gitk que puedes usar gitk `git stash list --pretty=format:%gd` y luego busque “WIP on” para pasar al siguiente alijo.

    – Ikar Pohorský

    8 de junio de 2016 a las 10:31

  • gitk --reflog te permite ver todos los escondites, y más.

    –Brent Bradburn

    22/06/2016 a las 19:30

  • gitk fue la única herramienta que me mostró directamente que el alijo tenía archivos guardados sin seguimiento. Todos los demás simplemente me mostraron “sin diferencias”.

    – Martin Bonner apoya a Mónica

    12 de marzo de 2019 a las 11:41

avatar de usuario
Wesley Musgrove

Para ver todos los cambios en un alijo sin abrir:

git stash show -p [email protected]{0}

Para ver los cambios de un archivo en particular en un alijo sin abrir:

git diff HEAD [email protected]{0} -- path/to/filename.php

avatar de usuario
hola

El siguiente comando se puede usar para extraer la diferencia del cambio escondido contra cualquier otra reserva, compromiso, rama o HEAD.

git stash show
git show
git diff
git difftool

Veamos cómo podemos usar cada uno de los comandos mencionados anteriormente.

  1. git stash show

El comando simple git stash show brinda un resumen muy breve de los cambios del archivo, pero no mostrará la diferencia de los cambios con respecto al HEAD actual.

  1. git show

El comando git-show se usa para ver varios tipos de objetos.

El comando git-show no solo se usa para visualizar cambios ocultos, sino que también se usa para ver uno o más objetos como blobs, árboles, etiquetas y confirmaciones.

  1. git diff

El comando git-diff también es uno de los comandos comunes que se usa para mostrar cambios entre confirmaciones, confirmación y árbol de trabajo, etc.

De forma predeterminada, git diff mostrará la diferencia del alijo seleccionado con respecto al estado actual del repositorio (archivos modificados), a menos que se especifique otra referencia al alijo o confirmación.

Para obtener la diferencia entre el mejor alijo [email protected]{0} y master rama:

git diff [email protected]{0} master

Solo muestra los nombres de los archivos, no los diferentes de los cambios:

git diff --name-only [email protected]{0} master

Vea la diferencia entre los alijos seleccionados para un archivo seleccionado:

git diff [email protected]{0}^1 [email protected]{0} -- <filename>
  1. git difftool

El comando git-difftool también se puede usar para encontrar diferencias entre el alijo seleccionado y el compromiso, la rama o el alijo seleccionados.

Vea la diferencia entre los dos últimos escondites:

git difftool [email protected]{0} [email protected]{0}^1

git difftool --dir-diff [email protected]{0} [email protected]{0}^1

Resumen:

Comandos que son útiles para extraer la diferencia del alijo seleccionado: git stash show, git show, git diff, git difftool.

Ver la diferencia usando el comando git stash show,

git stash show -p [email protected]{0}

Ver los cambios en el alijo usando el comando git show,

git show [email protected]{1}

Vea la diferencia entre el último alijo y el compromiso seleccionado usando el comando git diff,

git diff [email protected]{0} <commit-hash>

Referencias:

https://howto.lintel.in/how-to-see-stashed-changes-using-git-stash/

https://git-scm.com/docs/git-show

https://git-scm.com/docs/git-stash

avatar de usuario
hlongmore

Cuando se hizo esta pregunta por primera vez, es posible que no fuera una opción, pero, si usa PyCharm, puede usar el UnStash Changes herramienta (VCS->Git->UnStash Changes…). Esto le permite ver la lista de cambios ocultos, así como abrir, soltar, borrar o aplicar (en una nueva rama si lo desea):

Ventana Unstash Changes

y ver los archivos modificados por alijo:

Ventana Rutas afectadas

así como diferencias por archivo. En las diferencias, puede seleccionar cambios individuales para aplicar desde los cambios ocultos a la rama de trabajo (usando el cheurón que apunta hacia la izquierda):

ingrese la descripción de la imagen aquí

avatar de usuario
Comunidad

Más allá de la recomendación de gitk en ¿Es posible obtener una vista previa de los contenidos ocultos en git? puedes instalar tig y llama tig stash. Esto es gratis/abierto consola El programa también te permite elegir qué alijo comparar

  • ¡Parece una herramienta perfecta para administrar múltiples escondites! Tú también puedes estallido y soltar esconde con P y ! llaves respectivamente.

    – Ikar Pohorský

    8 de junio de 2016 a las 10:42

  • Las alternativas de TUI siempre son buenas, pero para la gente que ya está acostumbrada o que de alguna manera prefiere gitk es relativamente fácil hackearlo para mostrar todos los escondites.

    – 1737973

    04/07/2017 a las 19:35

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad