Compañeros y compañeras como buena practica siempre se debe evitar manejar archivos diferentes a texto plano con git y github. Sin embargo en ocasiones un programa no funciona de forma correcta sin archivos como estos. Por ejemplo imagenes ISO o en mi caso modelos de redes neuronales ya entrenadas en formato .pth, estas pueden llegar a pesar de 100 a 300 Mb. Para esto existe git-lfs. y en este tutorial tratare de enseñarte qué es y como manejarlo.
<h1>Acerca de git-lfs</h1>git-lfs es un acronimo de Git Large File Storage. Este es una aplicación de linea de comando desarrollado como un third party compatible con git y github, con la función de manejar archivos de gran tamaño que estos no manejan o deberian manejar.
Este remplaza en git y github los archivos con punteros de texto plano que son guardados en el control de versiones, mientras los archivos reales son almacenados en memoria; en el computador en caso de git y en un servidor remoto en el caso de github.
La instalación varia segun tu sistema operativo.
brew install git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
Luego debes instalarlo con apt
sudo apt install git-lfs
Para usarlo no es más que seguir este ejemplo, en Windows ejecutalos desde git-bash
git lfs install
git lfs track"*.pth"
Esto crea un archivo .gitattributes con las instrucciones para crear los punteros y enviar los archivos al repositorio de git-lfs
git add .gitattributes
git commit -m "Add modelfiles"
Por ultimo es importante aclarar que el almacenmiento no es ilimitado y varia segun tu cuenta de git así:
Si quieres saber más sobre esta app lo puedes ver aquí: