Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
tech:git:lfs [08/04/2026 01:58] matetech:git:lfs [04/05/2026 07:05] (actual) – [.gitattributes] mate
Línia 24: Línia 24:
  
 == .gitattributes == .gitattributes
-  * indicar que ficheros son tratados como LFS:<code>*.png filter=lfs diff=lfs merge=lfs -text +[[tech:git:dotfiles:gitattributes]]
-*.wav filter=lfs diff=lfs merge=lfs binary</code> +
-  * ''filter''Es el parámetro más importante. Le dice a Git que debe usar el "filtro" de LFS al mover archivos entre el disco y el área de preparación (staging). +
-    * Al hacer commitEl filtro intercepta el archivo, lo mueve a la carpeta LFS y crea un pequeño archivo de texto (puntero) en su lugar. +
-    * Al hacer checkout: El filtro busca el archivo real en la carpeta LFS (o lo descarga de Gitea) y lo pone en tu carpeta de trabajo. +
-  * ''diff'':Le indica a Git cómo comparar dos versiones del archivo. +
-    * Sin esto, Git intentaría comparar los archivos binarios (lo cual es inútil y consume mucha CPU). +
-    * Con diff=lfs, Git simplemente compara los hashes (huellas digitales) de los punteros para saber si el archivo ha cambiado o no. +
-  * ''merge'':Define qué hacer si dos personas modifican el mismo archivo al mismo tiempo. +
-    * Los archivos binarios no se pueden "mezclar" (no puedes fusionar media foto con otra media foto). +
-    * Este parámetro le dice a Git que, en caso de conflicto, no intente un auto-merge. Normalmente, Git LFS simplemente te pedirá que elijas una de las dos versiones. +
-  * ''-text'':El signo menos (-) delante de text significa desactivar el atributo de texto. +
-    * Evita que Git intente normalizar los finales de línea (LF vs CRLF). +
-    * Si Git intentara cambiar un "salto de línea" dentro de un video o un ejecutable para adaptarlo a Windows o Linux, corrompería el archivo. Con -text le dices: "No toques el contenido, trátalo como datos binarios puros"+
-  * ''binary'': La palabra binary es en realidad un macro (un atajo). Cuando escribes binary, Git lo traduce internamente como si hubieras escrito: ''-text -diff''. Es decir: "No intentes arreglar los saltos de línea (''-text'') y no intentes mostrar las diferencias de contenido (''-diff'')".+
  
 == migración de repositorios == migración de repositorios
Línia 48: Línia 34:
   - Configurar el nuevo Gitea como remoto:<code bash>git remote add nuevo-gitea ssh://git@git.fidmag.org:2222/usuario/repo.git</code>   - Configurar el nuevo Gitea como remoto:<code bash>git remote add nuevo-gitea ssh://git@git.fidmag.org:2222/usuario/repo.git</code>
   - Forzar la subida de todos los objetos LFS:<code bash>git lfs push nuevo-gitea --all</code>   - Forzar la subida de todos los objetos LFS:<code bash>git lfs push nuevo-gitea --all</code>
 +
 +== migración a LFS
 +En caso de querer migrar archivos existentes en el repositorio a LFS:<code bash>
 +git lfs migrate import --include="*.mp4" --everything
 +git push --force
 +</code>
  • tech/git/lfs.1775638732.txt.gz
  • Darrera modificació: 08/04/2026 01:58
  • per mate