Acerca de Almacenamiento de archivos de gran tamaño Git
Almacenamiento de archivos de gran tamaño 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 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.
Predeterminadamente, el
cliente de Almacenamiento de archivos de gran tamaño Git almacena activos grandes en el mismo servidor que hospeda el repositorio de Git. Cuando se habilita Git LFS en tu instancia de GitHub Enterprise Server, los activos 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 Almacenamiento de archivos de gran tamaño Git", "Control de versiones de archivos grandes," y el sitio del proyecto Almacenamiento de archivos de gran tamaño Git .
Configurar a Almacenamiento de archivos de gran tamaño Git para tu empresa
-
En la esquina superior derecha de GitHub Enterprise Server, da clic en tu foto de perfil y luego en Configuración de empresa.
-
En la barra lateral de la cuenta de empresa, haz clic en Policies (Políticas).
-
Debajo de Políticas, da clic en Opciones.
-
Dentro del "acceso de Git LFS", usa el menú desplegable y haz clic en Enabled (Habilitado) o Disabled (Inhabilitado).
Configurar Almacenamiento de archivos de gran tamaño 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, haz clic en .
-
Si aún no estás en la página de "Administrador de sitio", en la esquina inferior izquierda, haz clic en Administrador de sitio.
-
En el campo de búsqueda, teclea el nombre del repositorio y da clic en Buscar.
-
En los resultados de búsqueda, da clic en el nombre del repositorio.
-
En la parte superior derecha de la página, da clic en Admin.
-
En la barra lateral izquierda, haz clic en Admin (Administrador).
-
Debajo de "Git LFS", da clic en Habilitar o Inhabilitar.
Configurar Almacenamiento de archivos de gran tamaño 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, haz clic en .
-
Si aún no estás en la página de "Administrador de sitio", en la esquina inferior izquierda, haz clic en Administrador de sitio.
-
En el campo de búsqueda, teclea el nombre del usuario u organización y da clic en Buscar.
-
En los resultados de búsqueda, da clic en el nombre de usuario u organización.
-
En la parte superior derecha de la página, da clic en Admin.
-
En la barra lateral izquierda, haz clic en Admin (Administrador).
-
Debajo de "Git LFS", da clic en Habilitar o Inhabilitar.
Configurar Almacenamiento de archivos de gran tamaño Git para usar un servidor de terceros
Predeterminadamente, el
cliente de Almacenamiento de archivos de gran tamaño Git almacena activos grandes en el mismo servidor que hospeda el repositorio de Git. Cuando se habilita Git LFS en tu instancia de GitHub Enterprise Server, los activos 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.
-
Inhabilita a Git LFS en tu instancia de GitHub Enterprise Server. Para obtener más información, consulta la sección "Configurar a Almacenamiento de archivos de gran tamaño Git para tu 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
-
Para mantener la misma configuración Git LFS para cada usuario, confirma un archivo
.lfsconfig
personalizado para el repositorio.$ git add .lfsconfig $ git commit -m "Adding LFS config file"
-
Migra cualquier activo Git LFS existente. Para obtener más información, consulta la sección "Migrarse a un servidor diferente de Almacenamiento de archivos de gran tamaño Git".
Migrar a un servidor de Git Large File Storage diferente
Antes de migrarte a un servidor de Almacenamiento de archivos de gran tamaño Git diferente, debes configurar a Git LFS para que utilice un servidor de terceros. Para obtener más información, consulta la sección "Configurar a Almacenamiento de archivos de gran tamaño Git para utilizar 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 de 16 archivos) 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 de 16 archivos) 48.00 MB / 48.85 MB, 879.10 KB pasados por alto