Skip to main content

Configuring Git Large File Storage for your enterprise

Git Large File Storage (Git LFS) é uma extensão de código aberto para Git que permite trabalhar com arquivos grandes da mesma maneira que com outros arquivos de texto.

About Git Large File Storage

Git Large File Storage (Git LFS) é uma extensão de código aberto para Git que permite trabalhar com arquivos grandes da mesma maneira que com outros arquivos de texto. You can use Git Large File Storage with a single repository, all of your personal or organization repositories, or with every repository in your enterprise. Before you can enable Git LFS for specific repositories or organizations, you need to enable Git LFS for your enterprise.

By default, the Git Large File Storage client stores large assets on the same server that hosts the Git repository. When Git LFS is enabled on your GitHub Enterprise Server instance, large assets are stored on the data partition in /data/user/storage.

Os usuários não podem fazer push de ativos de Git LFS para GitHub Enterprise Server se Git LFS estiver desabilitado na empresa ou no repositório.

For more information, see "About Git Large File Storage", "Versioning large files," and the Git Large File Storage project site.

Configuring Git Large File Storage for your enterprise

  1. No canto superior à direita de GitHub Enterprise Server, clique na foto do perfil e clique em Configurações da empresa. "Configurações da empresa" no menu suspenso da foto do perfil em GitHub Enterprise Server

  2. Na barra lateral da empresa, clique em Políticas. Guia Políticas na barra lateral da conta corporativa

  3. Em Políticas, clique em Opções. Guia Opções na barra lateral das configurações da conta corporativa

  4. Under "Git LFS access", use the drop-down menu, and click Enabled or Disabled. Git LFS Access

Configuring Git Large File Storage for an individual repository

Observação: cada repositório herda automaticamente as configurações padrão da organização ou do usuário que é seu proprietário. Você não pode substituir a configuração padrão se o proprietário do repositório tiver aplicado a configuração em todos os seus repositórios.

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

    Captura de tela do ícone de foguete para acesso às configurações de administração do site

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

    Captura de tela do link "Administração do site"

  3. No campo de pesquisa, digite o nome do repositório e clique em Pesquisar. Campo de pesquisa das configurações de administração do site

  4. Nos resultados da pesquisa, clique no nome do repositório. Opções de pesquisa das configurações de administração do site

  5. No canto superior direito da página, clique em Administrador. Ferramentas de Administrador

  6. Na barra lateral esquerda, clique em Administrador. Ferramentas de Administração

  7. Em "Git LFS", clique em Habilitar ou Desabilitar. Botão Desabilitar

Configuring Git Large File Storage for every repository owned by a user account or organization

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

    Captura de tela do ícone de foguete para acesso às configurações de administração do site

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

    Captura de tela do link "Administração do site"

  3. No campo de pesquisa, digite o nome do usuário ou da organização e clique em Pesquisar. Campo de pesquisa das configurações de administração do site

  4. Nos resultados da pesquisa, clique no nome do usuário ou organização. Opções de pesquisa das configurações de administração do site

  5. No canto superior direito da página, clique em Administrador. Ferramentas de Administrador

  6. Na barra lateral esquerda, clique em Administrador. Ferramentas de Administração

  7. Em "Git LFS", clique em Habilitar ou Desabilitar. Botão Desabilitar

Configuring Git Large File Storage to use a third party server

By default, the Git Large File Storage client stores large assets on the same server that hosts the Git repository. When Git LFS is enabled on your GitHub Enterprise Server instance, large assets are stored on the data partition in /data/user/storage.

Os usuários não podem fazer push de ativos de Git LFS para GitHub Enterprise Server se Git LFS estiver desabilitado na empresa ou no repositório.

  1. Disable Git LFS on your GitHub Enterprise Server instance. For more information, see "Configuring Git Large File Storage for your enterprise."

  2. Create a Git LFS configuration file that points to the third party server.

    # 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. To keep the same Git LFS configuration for each user, commit a custom .lfsconfig file to the repository.

    $ git add .lfsconfig
    $ git commit -m "Adding LFS config file"
  4. Migrate any existing Git LFS assets. For more information, see "Migrating to a different Git Large File Storage server."

Migrating to a different Git Large File Storage server

Before migrating to a different Git Large File Storage server, you must configure Git LFS to use a third party server. For more information, see "Configuring Git Large File Storage to use a third party server."

  1. Configure the repository with a second remote.

    $ 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. Fetch all objects from the old remote.

    $ 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. Push all objects to the new remote.

    $ 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

Further reading