Skip to main content

Configurar o Large File Storage do Git para a sua sempresa

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.

Sobre o 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. Você pode usar Git Large File Storage com um único repositório, todos os seus repositórios pessoais ou organizacionais, ou com cada repositório na sua empresa. Antes de habilitar Git LFS para repositórios ou organizações específicos, você deve habilitar Git LFS para a sua empresa.

Por padrão, o cliente do Git Large File Storage armazena ativos grandes no mesmo servidor que hospeda o repositório Git. Quando o Git LFS estiver habilitado no sua instância do GitHub Enterprise Server, os ativos grandes serão armazenados na partição de dados em /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.

Para saber mais, confira "Sobre armazenamento de arquivo grande do Git" e "Gerenciar arquivos grandes" e o site do projeto Git Large File Storage.

Configurar Git Large File Storage para a sua empresa

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

    Captura de tela do menu suspenso que aparece quando você clica na foto de perfil no GitHub Enterprise Server. A opção "Configurações da empresa" está realçada em um contorno laranja escuro.

  2. Na barra lateral da empresa, clique em Políticas.

  3. Em Políticas, clique em Opções.

  4. Em "Acesso ao Git LFS", selecione o menu suspenso e clique em Habilitado ou Desabilitado.

Configurar o Git Large File Storage em um repositório específico

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 .
  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
  3. Em "Pesquisar usuários, organizações, equipes, repositórios, gists e aplicativos", digite o nome do repositório no campo de texto. Em seguida, à direita do campo, clique em Pesquisar.
    Captura de tela da página "Pesquisar" das configurações de "Administrador do site". O botão usado para pesquisar repositórios, "Pesquisa", está realçado com um contorno em laranja.
  4. Em "Resultados da pesquisa – Repositórios", clique no nome do repositório.
  5. No canto superior direito da página, clique em Administrador.
    Captura de tela do cabeçalho da página "Administrador do site" de um usuário ou um repositório. A guia "Administrador" é realçada com um contorno laranja.
  6. Na barra lateral esquerda, clique em Administrador.
    Captura de tela da barra lateral esquerda da página "Administrador do site". A opção de menu "Administrador" é realçada com um contorno laranja.
  7. Na seção "Git LFS", ao lado de "Alternar acesso Git LFS", clique em Habilitar ou Desabilitar.

Configurar o Git Large File Storage para cada repositório pertencente a uma conta ou organização

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .
  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
  3. Em "Pesquisar usuários, organizações, equipes, repositórios, gists e aplicativos", digite o nome do usuário ou da organização no campo de texto. Em seguida, à direita do campo, clique em Pesquisar.
    Captura de tela da página "Pesquisar" das configurações de "Administrador do site". O botão usado para pesquisar usuários e organizações, rotulado "Pesquisa", é realçado com um contorno laranja.
  4. Nos resultados da pesquisa, clique no nome do usuário ou organização.
    Captura de tela dos resultados da pesquisa "Contas". Na lista de correspondências, "user1" está realçado com um contorno laranja.
  5. No canto superior direito da página, clique em Administrador.
    Captura de tela do cabeçalho da página "Administrador do site" de um usuário ou um repositório. A guia "Administrador" é realçada com um contorno laranja.
  6. Na barra lateral esquerda, clique em Administrador.
    Captura de tela da barra lateral esquerda da página "Administrador do site". A opção de menu "Administrador" é realçada com um contorno laranja.
  7. Na seção "Git LFS", ao lado de "Alternar acesso Git LFS", clique em Habilitar ou Desabilitar.

Configurar o Git Large File Storage para uso em servidores de terceiros

Por padrão, o cliente do Git Large File Storage armazena ativos grandes no mesmo servidor que hospeda o repositório Git. Quando o Git LFS estiver habilitado no sua instância do GitHub Enterprise Server, os ativos grandes serão armazenados na partição de dados em /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. Desabilite o Git LFS no sua instância do GitHub Enterprise Server. Para obter mais informações, confira "Como configurar o Git Large File Storage para sua empresa".

  2. Crie um arquivo de configuração do Git LFS que aponte para o servidor de terceiros.

    # 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. Para manter a mesma configuração do Git LFS para todos os usuários, faça commit de um arquivo .lfsconfig personalizado no repositório.

    git add .lfsconfig
    git commit -m "Adding LFS config file"
    
  4. Migre qualquer ativo do Git LFS. Para obter mais informações, confira "Como migrar para outro servidor do Git Large File Storage".

Migrar para outro servidor do Git Large File Storage

Antes de migrar para outro servidor do Git Large File Storage, configure o Git LFS para usar um servidor de terceiros. Para obter mais informações, confira "Como configurar o Git Large File Storage para usar um servidor de terceiros".

  1. Configure o repositório com outro 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. Faça fetch de todos os objetos do remote antigo.

    $ 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. Faça push de todos os objetos para o remote novo.

    $ 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
    

Leitura adicional