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ó

tech:git:dotfiles:gitattributes [04/05/2026 07:04] – creat matetech:git:dotfiles:gitattributes [04/05/2026 07:12] (actual) mate
Línia 3: Línia 3:
 <code>*.tgz binary <code>*.tgz binary
 code/*.zip binary</code> code/*.zip binary</code>
- 
-== LFS 
-  * indicar que ficheros son tratados como LFS:<code>*.png filter=lfs diff=lfs merge=lfs -text 
-*.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 commit: El 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.   * ''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).     * Sin esto, Git intentaría comparar los archivos binarios (lo cual es inútil y consume mucha CPU).
Línia 20: Línia 13:
     * 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".     * 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'')".   * ''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'')".
 +== renormalize
 +<code bash>
 +# 1. Definir el atributo
 +echo "*.bin binary" >> .gitattributes
 +
 +# 2. Forzar a Git a tratar los existentes como binarios
 +git add --renormalize .
 +
 +# 3. Tu script habitual
 +git commit -m "Update attributes and files"
 +git push origin master
 +</code>
 +
 +== LFS (filter)
 +  * indicar que ficheros son tratados como LFS:<code>*.png filter=lfs diff=lfs merge=lfs -text
 +*.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 commit: El 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.
 +
  • tech/git/dotfiles/gitattributes.1777903450.txt.gz
  • Darrera modificació: 04/05/2026 07:04
  • per mate