que lsf for files git github large-files git-lfs

lsf - Git lfs: "esto supera el límite de tamaño de archivo de GitHub de 100.00 MB"



gitlab lfs (5)

Tengo algunos archivos csv que son más grandes que el límite de tamaño de archivo de github de 100.00 MB. He estado tratando de usar la extensión Git Large File Storage.

https://git-lfs.github.com/

De LFS - "Large file versioning- Version large files—even those as large as a couple GB in size—with Git."

He aplicado lo siguiente en las carpetas de interés:

git lfs track "*.csv"

Sin embargo, cuando empujo:

remote: error: File Time-Delay-ftn/Raw-count-data-minor-roads1.csv is 445.93 MB; this exceeds GitHub''s file size limit of 100.00 MB remote: error: File Time-Delay-ftn/Raw-count-data-major-roads.csv is 295.42 MB; this exceeds GitHub''s file size limit of 100.00 MB

Cuando miro la carpeta en cuestión:

-rw-r----- 1 user staff 42B 23 Oct 12:34 .gitattributes -rw-r--r-- 1 user staff 1.3K 19 Oct 14:32 DfT_raw_major_manipulation.py -rw-r--r-- 1 user staff 1.2K 16 Oct 15:08 DfT_raw_minor_manipulation.py drwxr-xr-x 21 user staff 714B 22 Oct 11:35 Driving/ -rwxr-xr-x@ 1 user staff 295M 19 Oct 14:47 Raw-count-data-major-roads1.csv* -rwxr-xr-x@ 1 user staff 446M 16 Oct 14:52 Raw-count-data-minor-roads1.csv*

cuando veo el archivo .gitattributes puedes ver la configuración de lfs:

*.csv filter=lfs diff=lfs merge=lfs -text

¿Qué estoy haciendo mal?

ACTUALIZAR

Cuando pregunto

git lfs ls-files

No consigo nada devuelto. Esto indica que a pesar de que el filtro .csv se haya aplicado con éxito en el archivo .gitattributes, los archivos csv no están siendo recogidos por lfs


Ayer tuve el mismo problema y lo resolví. No pude presionar, y parecía que ninguno de mis archivos grandes estaba en lfs.

Probablemente hay una mejor manera, pero esto funcionó para mí. Tengo un repo grande con 2.5 gigas de datos.

Configuré un nuevo repositorio y luego configuré lfs en él. git lfs init

Luego configuré mis diversos tipos de archivos git lfs track "*.pdb" git lfs track "*.dll" Luego confirmé mis cambios y los presioné.

Luego agregué mis archivos grandes. Utilicé sourcetree, y en las notas de salida indicaría que para los archivos grandes que coinciden con mis comodines, en su lugar, estaba enviando un pequeño archivo de texto. (Lo siento, no grabé esto, pero debería ser obvio).

Luego empujé, y vi ''saltar archivos'', y el empuje tuvo éxito rápidamente.

por lo que el problema probablemente sea tratar de agregar archivos a los archivos que ya están en su historial. Solo puedes añadir nuevos archivos. Probablemente puedas limpiar tu repo de estos archivos.

Nota: Encontré que bastantes archivos que coincidían con mis comodines no fueron recogidos por lfs. Se recogieron archivos similares en diferentes carpetas, pero no todos. Intenté agregar explícitamente estos archivos usando la ruta completa. git lfs track "Windows/bin/myBigFile.dll" pero eso tampoco ayudó. Al final me rendí por falta de tiempo.

También debes verificar tu límite de almacenamiento con gitHub. Compré el 50gig extra para cubrir mis necesidades.

La clonación del repositorio ahora descarga los archivos por separado y, finalmente, todo funciona bien.


El simple hecho de agregar la configuración de git-lfs a un repositorio existente no convertirá de forma retroactiva sus archivos grandes a soporte de LFS. Esos archivos grandes permanecerán en tu historial y GitHub rechazará tus intentos.

Debe volver a escribir su historial para introducir git-lfs a sus confirmaciones existentes. Recomiendo la herramienta de limpieza de repositorios BFG, que recientemente agregó soporte LFS .

Debería poder convertir el uso histórico de sus archivos CSV mediante:

$ java -jar ~/bfg-1.12.5.jar --convert-to-git-lfs ''*.csv'' --no-blob-protection



Si sabe qué confirmación introdujo la confirmación grande, también podría intentar aplastar esa confirmación con las confirmaciones posteriores que introdujeron Git LFS.

Por ejemplo, si el compromiso grande fue hace tres confirmaciones (como lo revela el git status ), podría hacer lo siguiente:

git rebase -i HEAD~3

Luego, reemplace todos los usos de "selección" después del primero con "squash" en el diálogo interactivo.

Entonces,

git push origin --force


Tuve este error:

remoto: error: cliente de archivo / static / static-version / 20171221_221446.psd es 223.61 MB; esto excede el límite de tamaño de archivo de GitHub de 100.00 MB

Y debido a que ya eliminé este archivo de esta carpeta, creé el archivo .gitignore e intenté cometer un par de veces, no sabía que estaba guardado en la caché, no pude empujar a github. En mi caso ayudó

git filter-branch --index-filter ''git rm --cached --ignore-unmatch client / static / static-version / 20171221_221446.psd''

Donde coloqué la ruta completa del archivo (del error anterior) para eliminarla del caché. Después de eso, el empuje se realizó con éxito.