Ver un archivo en una rama de Git diferente sin cambiar de rama

Resuelto Schneems asked hace 12 años • 5 respuestas

¿Es posible abrir un archivo en una rama de git sin verificar esa rama? ¿Cómo?

Básicamente, quiero poder abrir un archivo en la rama de mis páginas de github sin cambiar de rama todo el tiempo. No quiero modificarlo, solo quiero verlo.

Schneems avatar Oct 22 '11 06:10 Schneems
Aceptado

Esto debería funcionar:

git show branch:file

Donde rama puede ser cualquier referencia (rama, etiqueta, HEAD, ...) y archivo es la ruta completa del archivo. Para exportarlo puedes usar

git show branch:file > exported_file

También deberías consultar las respuestas de VonC a algunas preguntas relacionadas:

  • ¿Cómo recuperar un solo archivo de una revisión específica en Git?
  • Cómo obtener solo un archivo de otra rama

ACTUALIZACIÓN 2015-01-19:

Hoy en día puedes usar rutas relativas con git show a1b35:./file.txt.

Scolytus avatar Oct 21 '2011 23:10 Scolytus
git show somebranch:path/to/your/file

También puedes crear varios archivos y concatenarlos:

git show branchA~10:fileA branchB^^:fileB

No es necesario que proporcione la ruta completa al archivo; se aceptan rutas relativas, por ejemplo:

git show branchA~10:../src/hello.c

Si desea obtener el archivo en el directorio local (revertir solo un archivo), puede realizar el pago:

git checkout somebranch -- path/to/file
Adam Dymitruk avatar Oct 21 '2011 23:10 Adam Dymitruk

Una forma sencilla y amigable para los principiantes de buscar en un archivo: git gui browser <branch>que le permite explorar el contenido de cualquier archivo.

También está en el menú Archivo de git gui. La mayoría de los otros contenedores de GUI (más avanzados) (Qgit, Egit, etc.) también ofrecen exploración/apertura de archivos.

inger avatar Oct 22 '2011 00:10 inger

Si está utilizando Emacs, puede escribir C-x v ~o M-x vc-revision-other-windowver una revisión diferente del archivo que está editando actualmente (las etiquetas, ramas y hashes funcionan).

legoscia avatar Feb 14 '2013 23:02 legoscia

Agregue lo siguiente a su ~/.gitconfigarchivo

[alias]
  cat = "!git show \"$1:$2\" #"

Y luego prueba esto

git cat BRANCHNAME FILEPATH

Personalmente prefiero parámetros separados sin dos puntos. ¿Por qué? Esta elección refleja los parámetros del checkoutcomando, que tiendo a usar con bastante frecuencia y, por lo tanto, lo encuentro mucho más fácil de recordar que el extraño parámetro del showcomando separado por dos puntos.

akuhn avatar Feb 22 '2019 04:02 akuhn