tag crear git unix path gitattributes

crear - ¿Dónde debo colocar mi archivo global ''gitattributes''?



crear tag git (1)

Configuración global frente a todo el sistema

Hay cierta ambigüedad en la terminología de su pregunta. En un contexto Git, "global" generalmente significa "nivel de usuario"; en otras palabras, una configuración global afecta a todos los repositorios para un usuario específico (el activo). Por el contrario, una configuración de todo el sistema afecta a todos los repositorios para todos los usuarios de una máquina.

Atributos de nivel de repositorio

(Solo menciono esto para completar).

De acuerdo con la sección relevante del libro Pro Git ,

Si desea afectar solo un único repositorio (es decir, asignar atributos a los archivos que son particulares del flujo de trabajo de un usuario para ese repositorio), entonces los atributos deben colocarse en el $GIT_DIR/info/attributes .

$GIT_DIR normalmente se expandiría a <path-to-repo-root-directory>/.git .

Atributos globales (nivel de usuario)

De acuerdo con la sección relevante del libro Pro Git ,

Los atributos que deberían afectar a todos los repositorios para un solo usuario deben colocarse en un archivo especificado por la opción de configuración core.attributesfile [...]. Su valor predeterminado es $XDG_CONFIG_HOME/git/attributes . Si $XDG_CONFIG_HOME no está configurado o está vacío, se usa $HOME/.config/git/attributes su lugar.

También puede ejecutar el siguiente comando,

git config --global core.attributesfile <path>

para apuntar Git a una ruta personalizada <path> para su archivo global de atributos, por ejemplo ~/.gitattributes .

Atributos de todo el sistema

De acuerdo con la sección relevante del libro Pro Git ,

Los atributos para todos los usuarios en un sistema deben colocarse en el archivo $(prefix)/etc/gitattributes .

lo que naturalmente plantea la pregunta:

[...] ¿Pero dónde está $(prefix) ?

Consulte ¿Qué es $ (prefijo) en $ (prefijo) / etc / gitconfig? por una respuesta A menos que haya asignado un prefix un valor personalizado, no vacío, $(prefix) expande a nada por defecto; por lo tanto, su archivo gitattributes sistema debe residir en /etc/ .

Supongo que hay (a pesar de la falta de documentación) una forma de establecer los atributos de Git a nivel mundial; pero no tengo claro dónde colocar el archivo gitattributes necesario. Las instructions dicen que pertenecen a

$(prefix)/etc/gitattributes

¿Pero dónde está $(prefix) ? En particular, ¿dónde estaría para OS X (con Git en /usr/local/git/bin/git )? Alternativamente (o además) ¿funcionaría ~/.gitattributes ?