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.
Note
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 saber mais, 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 saber mais, 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 saber mais, 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
Warning
Esses 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:
-
Abra TerminalTerminalGit Bash.
-
Mude o diretório de trabalho atual para o seu repositório local.
-
Para remover o arquivo, insira
git rm --cached
:$ git rm --cached GIANT_FILE # Stage our giant file for removal, but leave it on disk
-
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
-
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, recomendamos o comando git filter-repo
. Para saber mais, confira Remover dados confidenciais de um repositório.
Como alternativa, se você não quiser instalar uma ferramenta adicional, poderá usar um rebase interativo para remover commits problemáticos. Para fazer isso:
- Você deve saber quais commits adicionaram ou modificaram o arquivo em questão.
- O commit deve fazer parte de apenas um branch.
- O único branch ao qual os commits pertencem não deve ter tido mesclagens desde que os commits foram aplicados.
Para saber mais sobre rebases interativos, confira Usar rebase do Git na linha de comando. Se você não tiver certeza se atende às condições necessárias para corrigir com um rebase interativo, deverá usar
git filter-repo
.
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.