About large files on GitHub

GitHub limits the size of files you can track in regular Git repositories. Learn how to track or remove files that are beyond the limit.

About size limits on GitHub

O GitHub tenta fornecer armazenamento abundante para todos os repositórios do Git, embora existam limites rígidos para tamanhos de arquivo e repositório. Para garantir o desempenho e confiabilidade aos nossos usuários, monitoramos ativamente os sinais da saúde geral do repositório. A saúde do repositório é uma função de vários fatores de interação, incluindo tamanho, frequência de commit, conteúdo e estrutura.

File size limits

GitHub limits the size of files allowed in repositories. Se você tentar adicionar ou atualizar um arquivo maior do que 50 MB, 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, consulte "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 MB. Para obter mais informações, consulte "Adicionar um arquivo a um repositório."

GitHub bloqueia pushes que excedem 100 MB.

To track files beyond this limit, you must use Git Large File Storage (Git LFS). Para obter mais informações, consulte "Sobre Git Large File Storage".

If you need to distribute large files within your repository, you can create releases on GitHub instead of tracking the files. Para obter mais informações, consulte "Distribuir grandes arquivos binários".

Git is not designed to handle large SQL files. Para compartilhar bancos de dados grandes com outros desenvolvedores, recomendamos usar o Dropbox.

Repository size limits

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. Se o seu repositório impactar excessivamente a nossa infraestrutura, você pode receber um e-mail do Suporte do GitHub pedindo para tomar medidas corretivas. Tentamos ser flexíveis, especialmente com grandes projetos que têm muitos colaboradores e trabalharemos com você para encontrar uma resolução sempre que possível. Você pode impedir que seu repositório afete nossa infraestrutura gerenciando efetivamente o tamanho e a saúde geral do seu repositório. É possível encontrar aconselhamento e uma ferramenta para análise de repositórios no repositório github/git-sizer.

As dependências externas podem fazer com que os repositórios do Git se tornem muito grandes. Para evitar o preenchimento de um repositório com dependências externas, recomendamos o uso de um gerenciador de pacotes. Os gerenciados de pacote populares para linguagens comuns incluem Bundler, Node's Package Manager e Maven. Estes gerenciadores de pacotes são compatíveis com o uso direto dos repositórios do Git. Portanto, você não precisa de fontes pré-empacotadas.

O Git não foi projetado para servir como ferramenta de backup. No entanto, existem muitas soluções especificamente projetadas para executar backups, como Arq, Carbonite e CrashPlan.

Remover arquivos do histórico do repositório

Aviso: estes procedimentos removem definitivamente os arquivos do repositório no computador e no GitHub. 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 ainda não foi processado no GitHub, você poderá excluir o arquivo e corrigir 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 o commit da 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 para GitHub:
    $ 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, você pode usar o comando BFG Repo-Cleaner ou o git filter-branch. Para obter mais informações, consulte "Remover dados confidenciais de um repositório".

Distribuir binários grandes

Se você precisar distribuir arquivos grandes dentro do seu repositório, você poderá criar versões no GitHub. 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 mais informações, acesse "Sobre as versões".

Não limitamos o tamanho total dos arquivos binários na versão ou a banda larga usada para entregá-los. No entanto, cada arquivo deve ser menor que 2 GB.

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.