Git Large File Storage (LFS): Gerenciando Grandes Arquivos no Versionamento de Código

O Git Large File Storage (LFS) é uma extensão do Git projetada para melhorar o manuseio de grandes arquivos, que podem ser um desafio em sistemas de controle de versão tradicionais como o Git. O Git foi otimizado para lidar com pequenas alterações em arquivos de texto, como código-fonte. Entretanto, quando se trata de grandes arquivos binários, como vídeos, imagens de alta resolução ou bibliotecas, o Git pode se tornar ineficiente e até mesmo impraticável. Isso ocorre porque cada vez que um arquivo é modificado, o Git armazena uma cópia completa desse arquivo, o que pode rapidamente inflar o tamanho do repositório e tornar as operações de clone e pull excessivamente lentas.

O Git LFS resolve esses problemas substituindo grandes arquivos no repositório Git por "ponteiros" leves, enquanto os próprios arquivos são armazenados em um servidor remoto separado. Isso significa que o repositório Git permanece pequeno e ágil, enquanto os grandes arquivos podem ser baixados sob demanda.

Como o Git LFS Funciona

Para usar o Git LFS, você precisa instalá-lo como uma extensão separada do Git. Uma vez instalado, você pode especificar quais tipos de arquivos deseja que o Git LFS rastreie. Isso é feito através do comando git lfs track, que adiciona uma entrada ao arquivo .gitattributes no seu repositório. Por exemplo:

git lfs track "*.psd"

Isso instruirá o Git a usar o LFS para todos os arquivos com a extensão .psd. Quando você faz commit de um arquivo rastreado, o Git LFS armazena o arquivo real em um repositório remoto LFS e coloca um ponteiro no repositório Git. Esse ponteiro é um arquivo de texto pequeno que contém uma referência ao arquivo real, permitindo que o Git saiba onde encontrar o arquivo quando necessário.

Vantagens do Git LFS

  • Performance: O repositório Git permanece leve e rápido, pois apenas os ponteiros são armazenados, não os arquivos grandes em si.
  • Versionamento: O Git LFS permite que você versione grandes arquivos da mesma maneira que faria com arquivos menores, mantendo o histórico de alterações.
  • Colaboração: A colaboração em projetos com grandes arquivos torna-se mais prática, pois os colaboradores podem clonar e trabalhar no repositório sem baixar todos os arquivos grandes imediatamente.
  • Armazenamento Eficiente: Os arquivos são baixados apenas quando necessário, economizando espaço em disco e largura de banda.

Configurando o Git LFS

Para começar a usar o Git LFS, siga estas etapas:

  1. Instale o Git LFS. Você pode baixá-lo do site oficial ou instalá-lo usando um gerenciador de pacotes.
  2. Execute git lfs install para configurar o Git LFS no seu sistema.
  3. Escolha os tipos de arquivos que deseja que o Git LFS rastreie e adicione-os ao arquivo .gitattributes usando o comando git lfs track.
  4. Faça commit do arquivo .gitattributes no seu repositório para garantir que todos que clonarem o repositório saibam quais arquivos são gerenciados pelo LFS.
  5. Continue a usar o Git como de costume. Quando você faz commit de um arquivo rastreado pelo LFS, o Git LFS cuidará automaticamente de armazenar o arquivo no servidor LFS.

Limitações e Considerações

Embora o Git LFS seja uma ferramenta poderosa, existem algumas considerações a serem levadas em conta:

  • Custos de Armazenamento: Dependendo de onde você hospeda seu servidor Git LFS, pode haver custos associados ao armazenamento e à transferência de dados.
  • Configuração dos Clientes: Todos os colaboradores precisam ter o Git LFS instalado e configurado em suas máquinas para interagir corretamente com os arquivos grandes.
  • Limites de Transferência: Alguns serviços de hospedagem têm limites na quantidade de dados que você pode transferir mensalmente.

Conclusão

O Git LFS é uma solução essencial para equipes que trabalham com grandes arquivos binários, pois permite que eles aproveitem os benefícios do controle de versão sem sobrecarregar o repositório Git. Ao armazenar eficientemente esses grandes arquivos fora do repositório principal e usar ponteiros para referenciá-los, o Git LFS mantém a agilidade e a eficiência do repositório enquanto facilita a colaboração em projetos de todos os tamanhos.

Com a configuração adequada e a conscientização das limitações, o Git LFS pode ser uma adição valiosa ao fluxo de trabalho de desenvolvimento, garantindo que a gestão de arquivos grandes seja tão suave e eficaz quanto o versionamento de código com o Git e o GitHub.

Agora responda o exercício sobre o conteúdo:

Qual é o comando usado para especificar quais tipos de arquivos devem ser rastreados pelo Git Large File Storage (LFS)?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo GitHub API para automação e integração

Próxima página do Ebook Gratuito:

49GitHub API para automação e integração

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto