“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:
- Baixar e instalar o gerenciador de pacotes Chocolatey
- Abra a linha de comando do windows (cmd.exe)
- Instalar o git LFS usando o choco:
choco install git-lfs
- Finalizar a instalação com o comando abaixo
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!