= git LFS
{{tag>git comando}}
Large File Storage
/via: [[https://support.atlassian.com/bitbucket-cloud/docs/use-git-lfs-with-bitbucket/]]
== install
sudo apt install git-lfs
== setup (nuevos repos)
* instalación cliente:git lfs install --local # si no se especifica --local, afecta a todos los repos de la sesión, con --local solo al actual
* configuración:git lfs track # ver que seguimientos se estan realizando
git lfs track "" # puede ser directorio o tipo de archivo (entre comillas)
* se realizan cambios en ''.gitattributes'' que se tienen que commitear
== add
* como en cualquer commit, se añaden los ficheros:git add
== other
* problemes amb configuració ~/.ssh/config
* git lfs env
* ''.lfsconfig''
* git push --no-verify origin main
== .gitattributes
[[tech:git:dotfiles:gitattributes]]
== migración de repositorios
Este es un problema muy común tras una migración. Lo que tienes ahora en Gitea son los Pointers (archivos de texto de ~3 líneas con el hash sha256), pero el almacenamiento de Gitea no contiene los objetos binarios reales.
Para solucionarlo, tienes que hacer un "LFS Push" desde una copia local que sí tenga los archivos originales.
- Asegúrate de tener los archivos en local
- Configurar el nuevo Gitea como remoto:git remote add nuevo-gitea ssh://git@git.fidmag.org:2222/usuario/repo.git
- Forzar la subida de todos los objetos LFS:git lfs push nuevo-gitea --all
== migración a LFS
En caso de querer migrar archivos existentes en el repositorio a LFS:
git lfs migrate import --include="*.mp4" --everything
git push --force