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ó

Següent revisió
Revisió prèvia
tech:git:dotfiles:gitattributes [04/05/2026 16:04] – creat matetech:git:dotfiles:gitattributes [13/07/2026 10:57] (actual) – [.git* - .gitattributes] mate
Línia 1: Línia 1:
 = .git* - .gitattributes = .git* - .gitattributes
 +{{tag>git}}
 +
 indica la naturaleza de cierto tipos de archivos para optimizar el control de cambios. indica la naturaleza de cierto tipos de archivos para optimizar el control de cambios.
 <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 15:
     * 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>
 +<code bash>
 +# 1. Elimina todo del índice de Git de forma segura (sin borrar tus archivos del disco)
 +git rm --cached -r .
 +
 +# 2. Vuelve a añadir todos los archivos (Git los procesará aplicando el nuevo .gitattributes)
 +git add .
 +
 +git commit -m "Actualizar atributos de archivos binarios existentes"
 +</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ó: 06/07/2026 18:29
  • (edició externa)