Acerca de Almacenamiento de archivos de gran tamaño de Git
Almacenamiento de archivos de gran tamaño de Git (Git LFS) es una extensión de código abierto para Git que te permite trabajar con archivos grandes de la misma manera que con otros archivos de texto. Puedes utilizar Almacenamiento de archivos de gran tamaño de Git con un solo repositorio, con todos tus repositorios personales o de organización, o con todos los repositorios de tu empresa. Antes de que puedas habilitar a Git LFS para repositorios u organizaciones específicos, necesitas habilitar a Git LFS en tu empresa.
De manera predeterminada, el cliente de Almacenamiento de archivos de gran tamaño de Git almacena los recursos grandes en el mismo servidor en el que se hospeda al repositorio de Git. Cuando se habilita Git LFS en tu instancia de GitHub Enterprise Server, los recursos grandes se almacenan en la partición de datos en /data/user/storage
.
Los usuarios no pueden subir activos Git LFS a GitHub Enterprise Server si Git LFS está inhabilitado en la empresa o repositorio.
Para obtener más información, consulta "Acerca de Large File Storage de Git", "Administrar archivos grandes" y el sitio de proyecto Almacenamiento de archivos de gran tamaño de Git.
Configurar a Almacenamiento de archivos de gran tamaño de Git para tu empresa
-
En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
-
En Directivas, haga clic en Opciones.
-
En "Acceso a Git LFS", usa el menú desplegable y haz clic en Habilitado o Deshabilitado.
Configurar Almacenamiento de archivos de gran tamaño de Git para un repositorio individual
Nota: Cada repositorio hereda automáticamente la configuración predeterminada de la organización o usuario al que pertenece. No puedes invalidar la configuración predeterminada si el dueño del repositorio ha requerido dicha configuración en todos sus repositorios.
- Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
- Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
- En "Buscar usuarios, organizaciones, equipos, repositorios, gists y aplicaciones", escribe el nombre del repositorio en el campo de texto. A continuación, a la derecha del campo, haz clic en Buscar.
- En "Resultados de la búsqueda: repositorios", haz clic en el nombre del repositorio.
- En la esquina superior derecha de la página, haz clic en Administrador.
- En la barra lateral izquierda, haz clic en Administrador.
- En la sección "Git LFS", junto a "Alternar Git LFS access", haga clic en Habilitar o Deshabilitar.
Configurar Almacenamiento de archivos de gran tamaño de Git para cada repositorio que pertenezca a una cuenta de usuario u organización
- Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
- Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
- En "Buscar usuarios, organizaciones, equipos, repositorios, gists y aplicaciones", escribe el nombre del usuario u organización en el campo de texto. A continuación, a la derecha del campo, haz clic en Buscar.
- En los resultados de búsqueda, da clic en el nombre de usuario u organización.
- En la esquina superior derecha de la página, haz clic en Administrador.
- En la barra lateral izquierda, haz clic en Administrador.
- En la sección "Git LFS", junto a "Alternar Git LFS access", haga clic en Habilitar o Deshabilitar.
Configurar Large File Storage de Git para usar un servidor de terceros
De manera predeterminada, el cliente de Almacenamiento de archivos de gran tamaño de Git almacena los recursos grandes en el mismo servidor en el que se hospeda al repositorio de Git. Cuando se habilita Git LFS en tu instancia de GitHub Enterprise Server, los recursos grandes se almacenan en la partición de datos en /data/user/storage
.
Los usuarios no pueden subir activos Git LFS a GitHub Enterprise Server si Git LFS está inhabilitado en la empresa o repositorio.
-
Deshabilita Git LFS en tu instancia de GitHub Enterprise Server. Para más información, vea "Configuración de Almacenamiento de archivos de gran tamaño de Git para su empresa".
-
Crea un archivo de configuración Git LFS que apunte al servidor de terceros.
# Show default configuration $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) # Create .lfsconfig that points to third party server. $ git config -f .lfsconfig remote.origin.lfsurl https://THIRD-PARTY-LFS-SERVER/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://THIRD-PARTY-LFS-SERVER/path/to/repo/info/lfs (auth=none) # Show the contents of .lfsconfig $ cat .lfsconfig [remote "origin"] lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo
-
A fin de mantener la misma configuración de Git LFS para cada usuario, confirme un archivo
.lfsconfig
personalizado en el repositorio.git add .lfsconfig git commit -m "Adding LFS config file"
-
Migra cualquier activo Git LFS existente. Para obtener más información, vea "Migración a un servidor de Almacenamiento de archivos de gran tamaño de Git distinto".
Migrar a un servidor de Git Large File Storage diferente
Antes de migrarte a un servidor de Almacenamiento de archivos de gran tamaño de Git diferente, debes configurar a Git LFS para que utilice un servidor de terceros. Para más información, vea "Configuración de Almacenamiento de archivos de gran tamaño de Git para usar un servidor de terceros".
-
Configura un repositorio con un segundo remoto.
$ git remote add NEW-REMOTE https://NEW-REMOTE-HOSTNAME/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) > Endpoint (NEW-REMOTE)=https://NEW-REMOTE-HOSTNAME/path/to/repo/info/lfs (auth=none)
-
Extrae todos los objetos del remoto anterior.
$ git lfs fetch origin --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Fetching objects... > Git LFS: (16 of 16 files) 48.71 MB / 48.85 MB
-
Extrae todos los objetos a un nuevo remoto.
$ git lfs push NEW-REMOTE --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Pushing objects... > Git LFS: (16 of 16 files) 48.00 MB / 48.85 MB, 879.10 KB skipped