Como posso subir arquivos no Git com mais de 50MB de tamanho por commit?
Introdução:
O Git é um sistema de controle de versão amplamente utilizado por desenvolvedores em todo o mundo. Ele oferece uma maneira eficiente e segura de gerenciar o código-fonte de um projeto. No entanto, o Git possui algumas restrições em relação ao tamanho dos arquivos que podem ser enviados em um único commit. Por padrão, o Git impõe um limite de 50MB para o tamanho máximo de um arquivo em um commit. No entanto, existem algumas abordagens que você pode adotar para contornar essa limitação e enviar arquivos maiores para o repositório Git.
Utilize o recurso Git LFS (Large File Storage):
O Git LFS é uma extensão do Git que permite armazenar arquivos grandes fora do repositório principal. Ele substitui os arquivos grandes por “ponteiros” que fazem referência aos arquivos armazenados em um servidor Git LFS. Dessa forma, você pode versionar os ponteiros no repositório principal sem afetar o desempenho ou ocupar espaço desnecessário. Para começar a usar o Git LFS, você precisa instalar a extensão e configurar o repositório para usá-la.
Divida os arquivos grandes em partes menores:
Uma abordagem alternativa é dividir o arquivo grande em partes menores, que estão dentro do limite de tamanho imposto pelo Git. Por exemplo, se você tem um arquivo de 100MB, pode dividi-lo em dois arquivos de 50MB ou em várias partes menores. Depois de dividir os arquivos, você pode fazer commits separados para cada parte. Certifique-se de fornecer nomes de arquivos significativos para facilitar a reconstrução posterior.
Use o recurso Git Annex:
O Git Annex é outra extensão do Git que permite lidar com arquivos grandes. Ele também armazena os arquivos grandes fora do repositório principal e os substitui por “ponteiros”. Esses ponteiros podem apontar para arquivos armazenados localmente ou em um servidor remoto. O Git Annex fornece uma maneira flexível de trabalhar com arquivos grandes, permitindo que você gerencie facilmente sua localização e sincronização entre diferentes repositórios.
Armazene arquivos grandes em serviços de hospedagem externa:
Se os arquivos grandes não fazem parte do código-fonte essencial do projeto, uma solução simples pode ser armazená-los em serviços de hospedagem externa, como o Dropbox ou o Google Drive. Você pode fazer o commit no Git apenas com os links para esses arquivos hospedados externamente. Essa abordagem reduz a carga do repositório Git e permite que você gerencie os arquivos grandes separadamente.
Conclusão:
Embora o Git tenha um limite de tamanho de arquivo de 50MB por commit, existem várias maneiras de contornar essa limitação e lidar com arquivos grandes. O Git LFS, o Git Annex e a divisão de arquivos em partes menores são algumas das abordagens que podem ser adotadas. Além disso, você pode optar por armazenar arquivos grandes em serviços de hospedagem externa e fazer referência a eles no repositório Git. A escolha da melhor abordagem depende das necessidades específicas do seu projeto e das preferências da equipe de desenvolvimento.