Trabalhar com arquivos grandes(MB) no git

“To make this possible, LFS uses a simple trick: it does not keep all of a file’s versions in the local repository. Instead, it provides only the files that are necessary in the checked out revision, on demand.”

Para isso precisamos instalar o LFS (Large Files Storage) do git, exemplo para windows:

  1. Baixar e instalar o gerenciador de pacotes Chocolatey
  2. Abra a linha de comando do windows (cmd.exe)
  3. Instalar o git LFS usando o choco:
  4. choco install git-lfs
  5. Finalizar a instalação com o comando abaixo
  6. git lfs install

A ideia é que o LFS faça o tracking de arquivos pesados como imagens muito grande ou videos, para cada arquivo faça:

git lfs track "videos/bunny.mp4"

Ou para uma determinada pasta:

git lfs track "videos/**"

Feito isso um arquivo .gitattributes é criado mostrando quais arquivos estão no rastreamento do LFS:

videos/bunny.mp4 filter=lfs diff=lfs merge=lfs -text
audios/** filter=lfs diff=lfs merge=lfs -text
videos/** filter=lfs diff=lfs merge=lfs -text
Seu repositório local fica mais enxuto apenas com o que é estritamente necessário, armazenando apenas ponteiros para os arquivos.

See ya!