what subir for files descargar como archivos git git-lfs

subir - git for files



¿Dónde se almacenan los archivos git-lfs? (1)

Respuesta 1 Como se explica en este video (en 1:27), cuando inserta un archivo rastreado por git lfs , es interceptado y colocado en un servidor diferente, dejando un puntero en su repositorio de git. Como puede ver en la referencia que proporciona en la Pregunta 4, esto funcionó para usted.

Respuesta 2 Esto es un poco más complicado. Leyendo la documentación para git lfs smudge , tenemos:

Lea un archivo de puntero Git LFS desde la entrada estándar y escriba el contenido del archivo grande correspondiente en la salida estándar. Si es necesario, descargue el contenido del archivo desde el punto final de Git LFS. El argumento, si se proporciona, solo se usa para una barra de progreso.

El punto final git lfs se puede encontrar en la salida de git lfs env . Mi "punto final" es una carpeta debajo (pero no en) mi repositorio, lo que me hace pensar que GitLab crea un repositorio git en el servidor en nuestro espacio de cuenta para almacenar archivos binarios.

Dicho esto, no sé cómo harías para respaldar esto. GitHub proporciona un servidor git lfs que "no está en un estado listo para producción", por lo que requerirá un poco de trabajo de su parte para configurarlo de modo que sus archivos binarios se carguen en un servidor que usted administra. Si hacer una copia de seguridad de estos archivos es una prioridad y no desea utilizar una de las implementations (Amazon S3, etc.), puede probar con otro sistema de almacenamiento de archivos binarios que funcione con git, como git-media , git-annex , git-fat , git-bigstore ... No he git-bigstore estas opciones en profundidad, así que no pude hacer una recomendación.

Respuesta 3 Si el archivo no se cargó usando git lfs , se habría empujado usando git y tendría un archivo binario en su repositorio de git. Pero, el tuyo se cargó usando git lfs como dices en la Pregunta 4 .

Respuesta 4 Otros usuarios de su repositorio, después de haber instalado git lfs en sus máquinas locales, simplemente pueden escribir git lfs pull para traer los archivos binarios que presionaron usando git lfs .

Estoy tratando de descubrir cómo usar git-lfs. Yo uso un servidor gitlab EE.

Tal vez me perdí algo, pero no pude encontrar ninguna documentación en git-lfs más allá del tutorial muy breve que presenta el comando "track" y lindos videos de 1 minuto.

Por ejemplo, agrego y rastreo un archivo tar de 3.7GB en un repositorio y lo envío:

git lfs track "*.tar" cp <a folder>/a.tar . git add a.tar git commit -m "add a.tar" git push origin master

Pregunta 1 : al final de este proceso, ¿se ha cargado a.tar en el servidor gitlab? No está claro ya que los comandos "agregar" y "confirmar" tomaron algún tiempo (tal vez no lo suficiente como para dejarme preguntarme si los 3.7GB se cargaron durante ese tiempo), pero el impulso no tardó en absoluto (una fracción de segundo).

Pregunta 2 : si el archivo se cargó en el servidor, ¿dónde? Obviamente no en el mismo lugar que el repositorio (ese es el punto). Pregunté porque mi servidor está siendo respaldado, y necesito saber si el uso de git-lfs requiere que actualice esto de alguna manera.

Pregunta 3 : si el archivo no se cargó, ¿significa esto que otros usuarios del repositorio obtendrán el enlace al archivo en la máquina original en la que se agregó el archivo? ¿Hay alguna manera de cambiar esto a una ubicación en el servidor? (volver a la pregunta 2)

Pregunta 4 : después de clonar el repositorio, de hecho el archivo completo 3.4G no está allí, "solo" un archivo de texto con el contenido:

version https://git-lfs.github.com/spec/v1 oid sha256:4bd049d85f06029d28bd94eae6da2b6eb69c0b2d25bac8c30ac1b156672c4082 size 3771098624

Por supuesto, esto es increíble y el punto completo. Pero, ¿qué pasa si se requiere acceso al archivo completo? como descargarlo

Estaría contento con la respuesta directa a esta pregunta o con un enlace hacia una documentación adecuada.