Git configura una herramienta de combinación estándar para el proyecto en el repository en sí

Entonces, siguiendo con esta (y otras) preguntas / respuestas: git-on-windows-cómo-hacer-configurar-una-combinación de herramientas , que nos dice cómo configurar una herramienta diff / merge en su PC local ( ya sea globalmente o por proyecto).

Para nuestro proyecto (donde estamos estandarizando nuestros juegos de herramientas e instalaciones) quiero configurar la herramienta diff / merge una sola vez y distribuirla a todos.

¿Hay alguna forma de hacer esto? – es decir, cuando clonamos un proyecto viene con la configuration de la herramienta merge / diff que ya está en él.

Vi dentro de la carpeta .git que hay un file "config" – Intenté agregar:

[diff] tool = bcompare 

Pero esto no pareció funcionar cuando entré al command git difftool

Como se mencionó en los comentarios, no es posible implementar configuraciones de repository para todos los que clonan el repository. Esto se aplica a configuraciones directas almacenadas en .git/config pero también a cosas como hooks. Cada vez que clona un repository, la plantilla de repository pnetworkingeterminada se copy de /usr/local/git/share/git-core/templates y se complementa con configuraciones generales (por ejemplo, .git/config y refs generales) que se crean como parte del process de clonación

Como la configuration siempre es local para el repository, los repositorys clonados tampoco copyrán los ajustes de la configuration local del origen.

Para los hooks, la solución común a este problema es tener algún script de configuration, ya sea directamente dentro del repository o como parte de alguna otra herramienta disponible a nivel mundial (por ej. , git-review Gerrit ) que establece la configuration local cuando se usa por primera vez.

Para su herramienta diff / merge, podría proporcionar un script de configuration similar que haga esto para los miembros de su equipo.

Sin embargo, tenga en count que las herramientas a menudo son muy específicas no solo para la computadora en la que se está utilizando (por ejemplo, podría haber instalado mi Beyond Compare en una carpeta diferente a usted), sino también muy subjetivas. Es posible que haya personas que estén más cómodas con el uso de la herramienta X en lugar de la herramienta Y que configuró de manera pnetworkingeterminada. Así que recomendaría dejar esto en manos del desarrollador. Lo más probable es que, si les importa, ya hayan configurado alguna herramienta de forma global.