"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como enviar arquivos grandes para o repositório git usando Git LFS

Como enviar arquivos grandes para o repositório git usando Git LFS

Publicado em 2024-11-02
Navegar:792

How to push large files to git repository using Git LFS

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

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/unegbuclinton/how-to-push-large-files-to-git-repository-using-git-lfs-5db3?1 Se houver alguma violação, entre em contato com study_golang @163.com excluir
Tutorial mais recente Mais>

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