48. Git LFS (Large File Storage) para grandes arquivos

Página 48

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.

Now answer the exercise about the content:

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

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

4949. GitHub API para automação e integração

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text