Si un archivo en la carpeta de trabajo de tu Mac contiene texto que comienza con version https://git-lfs.github.com/spec/v1, estás viendo su puntero de Git LFS en lugar del contenido del archivo grande. En Terminal, ve al repositorio, asegúrate de que Git LFS esté instalado e inicializado, y luego ejecuta git lfs pull. Ese comando descarga los objetos LFS para la rama desprotegida (checked-out) y actualiza los archivos de trabajo. Solo puede restaurar contenido que esté disponible en el remoto configurado o que ya se encuentre en la caché local de LFS. Preguntas frecuentes de Git LFS
1. Abre el repositorio en Terminal y confirma que el archivo es un puntero
Abre Terminal y cámbiate al directorio del repositorio. Si no estás seguro de dónde está la carpeta, escribe cd (incluyendo el espacio final), arrastra la carpeta del repositorio desde Finder a la ventana de Terminal y presiona Return. Comprueba que te encuentras en un árbol de trabajo de Git e inspecciona el archivo, sustituyendo su ruta real:
git status --short
head -n 3 'path/to/file.ext'
Un puntero típico contiene una línea de versión, una línea oid sha256: y una línea de tamaño (size). Git LFS almacena este pequeño puntero en Git mientras que el contenido real reside en el almacenamiento de LFS. Ver el puntero en un editor de texto no significa que el editor pueda recuperar el objeto faltante; la recuperación se realiza a través de Git LFS. Información general de Git LFS
2. Instala e inicializa Git LFS si es necesario
Comprueba si el comando está disponible:
git lfs version
Si Terminal informa que lfs no es un comando de Git, instala Git LFS mediante un método de instalación de confianza para tu Mac, luego abre una nueva ventana de Terminal y verifica de nuevo. El proyecto documenta git lfs install como la configuración única para una cuenta de usuario; ejecútalo para configurar los filtros y hooks de LFS en Git:
git lfs install
Esta configuración es distinta a descargar el contenido de los archivos. Si se omitió LFS durante un clonado o checkout, las preguntas frecuentes de Git LFS recomiendan específicamente ejecutar git lfs pull para reemplazar los punteros en el árbol de trabajo. Preguntas frecuentes de Git LFS
3. Descarga y restaura los archivos de la rama actual
Desde el directorio del repositorio, ejecuta:
git lfs pull
El comando descarga (fetch) el contenido LFS para la referencia actual desde el remoto predeterminado y extrae (checkout) los archivos necesarios en el árbol de trabajo. Es el paso de recuperación más sencillo para un clon normal donde el puntero pertenece a la rama que tienes desprotegida. Espera a que el comando termine y lee cualquier error; si un puntero permanece después de esto, significa que la descarga o el checkout no se completaron para ese archivo. Referencia de comandos de Git LFS
Si ya habías descargado el objeto anteriormente pero el archivo de trabajo todavía contiene un puntero, intenta:
git lfs checkout -- 'path/to/file.ext'
git lfs checkout utiliza el contenido disponible en el almacén local de LFS; no descarga nada. Restaura los archivos faltantes o aquellos que contienen el puntero coincidente, y no sobrescribe archivos modificados. Esto lo hace útil después de una descarga exitosa, pero no puede recuperar un objeto que no esté almacenado en la caché local ni haya sido descargado con éxito. Manual de git-lfs-checkout
4. Si el archivo sigue mostrando un puntero
Comprueba si la ruta esperada está siendo rastreada por LFS y si el repositorio tiene un remoto configurado:
git lfs ls-files
git remote -v
Si git lfs ls-files no lista el archivo, confirma que las reglas comprometidas (committed) en .gitattributes de la rama actual marcan su ruta para LFS. Simplemente ejecutar git lfs track ahora no recupera el contenido histórico, y cambiar las reglas de rastreo no convierte un blob normal de Git en un objeto LFS. Git LFS señala que los archivos que ya están en un repositorio requieren una renormalización y un commit para ser convertidos; no realices ese cambio en el repositorio solo para recuperar un archivo. Preguntas frecuentes de Git LFS
Si el archivo aparece listado, confirma que estás en la rama que contiene la versión deseada y que el remoto configurado es el repositorio que almacena sus objetos LFS. Para un remoto configurado diferente, descarga desde ese remoto y luego restaura desde la caché local:
git lfs fetch 'remote-name'
git lfs checkout -- 'path/to/file.ext'
git lfs fetch descarga objetos pero no actualiza la copia de trabajo; git lfs checkout realiza esa actualización local. Descargar (fetch) la referencia actual utiliza por defecto el remoto predeterminado, el cual sigue las reglas de selección de remotos de Git. Manual de git-lfs-fetch
Un pull fallido puede deberse a un problema de conexión, autenticación, acceso o falta de objetos. Resuelve el acceso al servidor de Git/LFS configurado y vuelve a intentarlo. Si el servidor LFS ya no tiene el objeto, el puntero por sí solo no puede reconstruir el archivo original: consulta con un encargado de mantenimiento del repositorio si otra rama, copia de seguridad, clon o almacén LFS autorizado lo tiene. Evita reemplazar el puntero con contenido adivinado o hacer un commit de él como si fuera el archivo restaurado.
Confirmar la recuperación
Después de un pull o checkout exitoso, inspecciona el archivo de nuevo. Sus primeras líneas ya no deberían ser los metadatos del puntero LFS; usa la aplicación apropiada para el tipo de archivo para confirmar que el contenido recuperado se abre correctamente. Revisa git status --short también. Es de esperar un cambio en el contenido si tu copia de trabajo contenía el puntero, pero revisa la ruta informada antes de preparar (stage) o hacer commit de cualquier cambio.
Fuentes
git-lfs-faq(7) — Git LFS
git-lfs(1) — Git LFS
git-lfs-checkout(1) — Git LFS
git-lfs-fetch(1) — Git LFS