Skip to main content

Configurar el almacenamiento de archivos grandes de Git para tu empresa

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.

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

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.

    Captura de pantalla del menú desplegable que aparece al hacer clic en la foto de perfil en GitHub Enterprise Server. La opción "Configuración de Enterprise" está resaltada en un contorno naranja oscuro.

  2. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.

  3. En Directivas, haga clic en Opciones.

  4. 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

Note

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.

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
  3. 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.
    Captura de pantalla de la página "Buscar" de la configuración "Administrador del sitio". El botón para buscar repositorios, con la etiqueta "Buscar", está resaltado con un contorno naranja.
  4. En "Resultados de la búsqueda: repositorios", haz clic en el nombre del repositorio.
  5. En la esquina superior derecha de la página, haz clic en Administrador.
     Captura de pantalla del encabezado de la página "Administrador del sitio" para un usuario o repositorio. La pestaña "Administrador" está resaltada con un contorno naranja.
  6. En la barra lateral izquierda, haz clic en Administrador.
    Captura de pantalla de la barra lateral izquierda de la página "Administrador del sitio". La opción de menú "Administrador" está resaltada con un contorno naranja.
  7. 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

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haga clic en .
  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.
  3. 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.
    Captura de pantalla de la página "Buscar" de la configuración "Administrador del sitio". El botón para buscar usuarios y organizaciones, con la etiqueta "Buscar", está resaltado con un contorno naranja.
  4. En los resultados de búsqueda, da clic en el nombre de usuario u organización.
    Captura de pantalla de los resultados de búsqueda de "Cuentas". En la lista de coincidencias, "user1" aparece resaltado con un contorno naranja.
  5. En la esquina superior derecha de la página, haz clic en Administrador.
     Captura de pantalla del encabezado de la página "Administrador del sitio" para un usuario o repositorio. La pestaña "Administrador" está resaltada con un contorno naranja.
  6. En la barra lateral izquierda, haz clic en Administrador.
    Captura de pantalla de la barra lateral izquierda de la página "Administrador del sitio". La opción de menú "Administrador" está resaltada con un contorno naranja.
  7. 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.

  1. Deshabilita Git LFS en tu instancia de GitHub Enterprise Server. Para más información, consulta Configuración de Almacenamiento de archivos de gran tamaño de Git para su empresa.

  2. 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
    
  3. 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"
    
  4. Migra cualquier activo Git LFS existente. Para obtener más información, consulta 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, consulta Configuración de Almacenamiento de archivos de gran tamaño de Git para usar un servidor de terceros.

  1. 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)
    
  2. 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
    
  3. 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
    

Información adicional