Ver un archivo en una rama de Git diferente sin cambiar de rama
¿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.
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
.
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
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.
Si está utilizando Emacs, puede escribir C-x v ~
o M-x vc-revision-other-window
ver una revisión diferente del archivo que está editando actualmente (las etiquetas, ramas y hashes funcionan).
Agregue lo siguiente a su ~/.gitconfig
archivo
[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 checkout
comando, 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 show
comando separado por dos puntos.