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 your GitHub Enterprise Server instance, 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, vea "Acerca de Almacenamiento de archivos de gran tamaño de Git", "Control de versiones de archivos grandes" y el sitio del 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, haga clic en la foto de perfil y luego en Configuración de empresa. 1. En la barra lateral de la empresa, haz clic en Directivas. 1. En Directivas, haga clic en Opciones.
- En "Acceso a Git LFS", use el menú desplegable y haga 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, haz 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.
1. En el campo de búsqueda, escriba el nombre del repositorio y haga clic en Buscar. 1. En los resultados de búsqueda, da clic en el nombre del repositorio. 1. En la esquina superior derecha de la página, haga clic en Administración. 1. En la barra lateral de la izquierda, haga clic en Administración. 1. En "Git LFS", haga clic en Enable o Disable.
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, haz 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.
1. En el campo de búsqueda, escriba el nombre del usuario u organización, y haga clic en Buscar. 1. En los resultados de búsqueda, da clic en el nombre de usuario u organización. 1. En la esquina superior derecha de la página, haga clic en Administración. 1. En la barra lateral de la izquierda, haga clic en Administración. 1. En "Git LFS", haga clic en Enable o Disable.
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 your GitHub Enterprise Server instance, 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.
-
Inhabilita a Git LFS en your GitHub Enterprise Server instance. 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