Recentemente, eu estava trabalhando em um projeto em que tive que trabalhar com ativos de alta resolução e, como resultado, eles eram grandes. Não consegui enviar os arquivos para o meu repositório. Sempre que tentei, recebi o seguinte erro:
remoto: erro: o arquivo file.csv tem 182,47 MB; isso excede o limite de tamanho de arquivo do GitHub de 100,00 MB
remoto: erro: GH001: Arquivos grandes detectados. Você pode tentar o Git Large File Storage - https://git-lfs.github.com.
Agora vamos falar sobre a extensão git Git LFS e como utilizá-la.
Git Large File Storage (LFS) é uma extensão Git projetada para lidar com arquivos grandes em seu repositório com mais eficiência.
1. O que é Git?
Git é um sistema de controle de versão que permite rastrear alterações em seu código e colaborar com outras pessoas. Normalmente, o Git salva todo o conteúdo (arquivos, código, etc.) diretamente em seu repositório, incluindo imagens, vídeos ou arquivos binários grandes.
2. Por que precisamos do Git LFS?
Por padrão, o Git armazena tudo, mas arquivos grandes, como imagens, vídeos ou conjuntos de dados de alta resolução, podem tornar seu repositório muito grande e lento. Cada vez que você envia ou extrai alterações, o Git baixa todos os dados, o que leva tempo e usa mais espaço de armazenamento em sua máquina.
O Git LFS foi projetado para lidar com esses arquivos grandes com mais eficiência:
Armazenando arquivos grandes separadamente: Em vez de salvar arquivos grandes diretamente em seu repositório, o Git LFS os substitui por ponteiros (pequenas referências). O arquivo real é armazenado fora do seu repositório em um local separado.
Mantendo o repositório leve: Dessa forma, seu repositório permanece leve e rápido porque o Git só baixa os arquivos grandes quando você precisa deles.
3.Como funciona o Git LFS?
Quando você adiciona um arquivo grande (por exemplo, um vídeo ou imagem) ao seu repositório, o Git LFS o substitui por um pequeno arquivo de ponteiro.
O arquivo ponteiro informa ao Git LFS onde o arquivo grande está realmente armazenado.
Quando alguém clona seu repositório ou extrai alterações, ele obterá o arquivo de ponteiro em vez do arquivo grande em si, a menos que extraia explicitamente os arquivos grandes.
4. Primeiros passos com Git LFS
Para começar a usar o Git LFS em seu projeto, siga estas etapas:
1.Instale o Git LFS: Você precisa instalar o Git LFS em sua máquina. Para a maioria dos sistemas, isso é feito executando:
git lfs install
2. Rastrear arquivos grandes: uma vez instalado, você precisa informar ao Git LFS quais arquivos rastrear (por exemplo, todos os arquivos .png ou _.mp4 _files). Isso é feito usando o comando git lfs track:
git lfs track "*.png"
Isso diz ao Git LFS para rastrear todos os arquivos que terminam com .png.
3.Comprometa as alterações: Depois de executar o comando track, o Git LFS cria um arquivo .gitattributes que define as regras para quais arquivos rastrear. Você precisa enviar este arquivo para o seu repositório:
git add .gitattributes git commit -m "Track large files using Git LFS"
4.Adicionar e enviar arquivos grandes: agora, quando você adiciona um arquivo grande (por exemplo, um vídeo ou imagem), o Git LFS irá gerenciá-lo automaticamente:
git add largefile.mp4 git commit -m "Add large video file" git push
Observação
Certifique-se de ter inicializado e configurado o LFS antes de enviar seus arquivos grandes, caso contrário, o git LFS não rastrearia o arquivo quando você enviasse. E você continuaria recebendo o erro como antes. Também encontrei esse problema quando comecei a usar a extensão git LFS.
5. Extraindo arquivos grandes:
Quando alguém clona ou extrai seu repositório, ele obterá os arquivos de ponteiro leves por padrão. Se eles quiserem arquivos grandes, eles podem baixá-los com:
git lfs pull
6. Benefícios do Git LFS
Acelera as operações do Git: seu repositório permanece rápido porque o Git não precisa lidar diretamente com arquivos grandes.
Reduz o uso de armazenamento: arquivos grandes são armazenados separadamente, o que reduz o tamanho do seu repositório.
Colaboração eficiente: apenas os arquivos grandes necessários são baixados quando necessário.
7. Desvantagens do Git LFS
Limites de armazenamento: algumas plataformas (como GitHub) oferecem armazenamento gratuito limitado para LFS, e você pode precisar pagar por armazenamento extra se tiver muitos arquivos grandes.
Puxações mais lentas com arquivos grandes: se você tiver muitos arquivos grandes e baixá-los todos de uma vez, ainda pode levar algum tempo, embora o Git LFS otimize isso em comparação com o Git normal.
Sinta-se à vontade para adicionar comentários ou perguntas. Terei prazer em respondê-los
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3