Skip to main content

Sobre arquivos grandes no GitHub

GitHub Enterprise Server limita o tamanho dos arquivos que você pode rastrear em repositórios do Git regulares. Aprenda a rastrear ou remover arquivos que estão além do limite.

Platform navigation

Sobre limites de tamanho em GitHub Enterprise Server

O GitHub Enterprise Server tenta fornecer amplo armazenamento para todos os repositórios Git, embora existam limites rígidos para tamanhos de arquivo tamanhos e recomendações para tamanhos de repositório.

Limites de tamanho de arquivo

GitHub Enterprise Server limita o tamanho dos arquivos permitidos nos repositórios. Se você tentar adicionar ou atualizar um arquivo maior do que 50 MiB, você receberá um aviso do Git. As alterações ainda serão carregadas no seu repositório com sucesso, mas você pode considerar remover o commit para minimizar o impacto no desempenho. Para obter mais informações, confira "Como remover arquivos do histórico de um repositório".

Observação: se você adicionar um arquivo a um repositório por meio de um navegador, o arquivo não poderá ser maior que 25 MiB. Para obter mais informações, confira "Adicionar um arquivo a um repositório".

Por padrão, o GitHub Enterprise Server bloqueia arquivos maiores que 100 MiB. No entanto, um administrador do site pode configurar um limite diferente para o sua instância do GitHub Enterprise Server. Para obter mais informações, confira "Aplicar as políticas de gerenciamento do repositório na sua empresa".

Para rastrear arquivos além desse limite, você deverá usar Git Large File Storage (Git LFS). Para obter mais informações, confira "Sobre armazenamento de arquivo grande do Git".

Se você precisar distribuir arquivos grandes no repositório, crie versões no sua instância do GitHub Enterprise Server em vez de acompanhar os arquivos. Para obter mais informações, confira "Como distribuir binários grandes".

O Git não é projetado para lidar com arquivos SQL grandes. Para compartilhar bancos de dados grandes com outros desenvolvedores, recomendamos o uso de um serviço de compartilhamento de arquivos.

Recomendações de tamanho do repositório

Recomendamos que repositórios permaneçam pequenos, idealmente inferior a 1 GB, e o tamanho inferior a 1 GB é altamente recomendado. Os repositórios menores são mais rápidos de clonar e são mais fáceis de trabalhar com e manter.

Você pode impedir que o seu repositório afete a infraestrutura gerenciando efetivamente o tamanho e a integridade geral do repositório. Encontre recomendações e uma ferramenta para análise de repositório no repositório github/git-sizer.

Remover arquivos do histórico do repositório

Aviso: estes procedimentos removem definitivamente os arquivos do repositório no computador e no sua instância do GitHub Enterprise Server. Se o arquivo for importante, faça uma cópia de backup local em um diretório fora do repositório.

Remover um arquivo adicionado ao commit não processado mais recente

Se o arquivo foi adicionado ao commit mais recente e você ainda não fez push deles no sua instância do GitHub Enterprise Server, exclua o arquivo e corrija o commit:

  1. Abra TerminalTerminalGit Bash.

  2. Mude o diretório de trabalho atual para o seu repositório local.

  3. Para remover o arquivo, insira git rm --cached:

    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
    
  4. Faça commit dessa alteração usando --amend -CHEAD:

    $ git commit --amend -CHEAD
    # Amend the previous commit with your change
    # Simply making a new commit won't work, as you need
    # to remove the file from the unpushed history as well
    
  5. Faça push dos commits no sua instância do GitHub Enterprise Server:

    $ git push
    # Push our rewritten, smaller commit
    

Remover um arquivo adicionado em um commit anterior

Se você adicionou um arquivo em um commit anterior, você deverá removê-lo do histórico do repositório. Para remover arquivos do histórico do repositório, use o BFG Repo-Cleaner ou o comando git filter-repo. Para obter mais informações, confira "Remover dados confidenciais de um repositório".

Distribuir binários grandes

Se você precisar distribuir arquivos grandes no seu repositório, crie versões no sua instância do GitHub Enterprise Server. As versões permitem que você empacote software, notas de versão e links para arquivos binários para que outras pessoas possam usar. Para obter mais informações, acesse "Sobre as versões".