Saltar al contenido
Totalmente local

Generador de gitattributes

Construye un archivo .gitattributes para saltos de línea, archivos binarios, Git LFS y más.

Salida

Generador de gitattributes

Un archivo .gitattributes le dice a Git cómo tratar rutas específicas — si normalizar saltos de línea, marcar un archivo como binario, enviarlo a través de Git LFS o proporcionarle un diff driver consciente del lenguaje. Hacerlo mal es cómo un checkout de Windows termina con un diff en cada línea, o un archivo Photoshop comparado como si fuera texto plano. Esta herramienta construye el archivo a partir de grupos de reglas comprobadas, no de un gist copiado.

La normalización de saltos de línea agrega la regla base text=auto más anulaciones LF y CRLF para scripts shell y archivos batch de Windows. Archivos binarios marca extensiones de imagen, fuente y ejecutable para que Git nunca los diferencie o fusione como texto. Las reglas Git LFS envían formatos de diseño y medios grandes a través del almacenamiento de archivos grandes de Git. Los diff drivers agregan encabezados de diff legibles para CSS, HTML, Java, Python, Go y Rust. Las estrategias merge marcan archivos de bloqueo como binarios y archivos como CHANGELOG.md como fusionables. Los atributos linguist indican rutas generadas, vendidas y de documentación para que dejen de contar hacia las estadísticas de lenguaje de un repositorio en GitHub. Un preset de proyecto — web, Node, Python, Unity o documentación — agrega una sección sintonizada para ese stack.

Cada grupo de reglas es independiente, por lo que puede combinar manejo binario, Git LFS y un preset de lenguaje en una sola pasada. "Fusionar secciones sin reglas duplicadas" elimina una línea que tanto un preset como un grupo elegido agregan, para que un archivo de bloqueo nunca obtenga dos reglas de merge en conflicto; una sección que queda sin líneas se descarta, no se imprime vacía. La clasificación mantiene las reglas de cada sección en un orden predecible, más fácil de revisar a medida que el archivo crece.

Todo se ejecuta en su navegador: ninguna ruta de repositorio o nombre de proyecto se envía nunca a ningún lado. Copie el resultado en su .gitattributes, descárguelo como archivo .txt, o envíelo nuevamente a la entrada para seguir agregando grupos de reglas.

Preguntas frecuentes

¿Dónde va el archivo .gitattributes?
Guárdalo como .gitattributes en la raíz de tu repositorio (o en un subdirectorio para reglas limitadas a esa carpeta), luego confirma los cambios.
¿Por qué importa * text=auto?
Le dice a Git que normalice los saltos de línea a LF en el repositorio mientras verifica los archivos con el salto de línea nativo del sistema operativo, lo cual es lo que evita que un checkout de Windows convierta cada línea en un diff.
¿Necesito Git LFS instalado para usar las reglas LFS?
Las reglas están inactivas hasta que Git LFS se instale e inicialice en el repositorio (git lfs install), después de lo cual los archivos que coincidan se almacenan y transfieren a través de LFS.
¿Qué hace una regla linguist-vendored?
Le dice a la herramienta de detección de lenguaje de GitHub que excluya esa ruta de las estadísticas de lenguaje del repositorio y de los resultados de búsqueda, lo cual es útil para dependencias vendidas y bundles generados.
¿Se carga mi información del proyecto en algún lugar?
No. El archivo se genera completamente en tu navegador a partir de las opciones que eliges — nada sobre tu repositorio se envía a un servidor.