¿Cómo se muestra el código en cierto formatting pero se confirma en otro?

Yo y un amigo mío estamos trabajando en una base de código y ha surgido un problema. Por lo tanto, con mucho gusto me atengo a cualquier estándar de estilo común que tenga algún soporte de herramientas para el auto-formatting. Mi amigo tiene un código más difícil de leer y prefiere cosas como funciones en el siguiente formatting

function foo() { console.log('bar'); } 

Esto lo ayuda a distinguir el principio y el final de los bloques.

Compare con este formatting donde el corchete de apertura está en la misma línea que la palabra key de la function.

 function foo() { console.log('bar'); } 

¿Hay alguna forma sencilla de aplicar un estilo de código en el proyecto mientras se permite que un desarrollador vea y aparentemente agregue código en su formatting preferido? He leído sobre git hooks, que supongo que podría formar parte del formatting del código antes de la confirmación. No obstante, no puedo encontrar una solución completa para el escenario descrito.

Sí, esto se llama controller de filter de contenido , utilizando la statement .gitattributes .

mancha
https://git-scm.com/book/en/v2/images/clean.png
(image de " Personalizar Git – Atributos de Git ", del " Libro de Pro Git ")

La idea es aplicar un formatting de código en el process de pago y aplicar otro en el logging automáticamente.

Por lo tanto, para cualquier file *.java , se debería llamar a un formateador capaz de mostrar el bloque de funciones con la política correcta de llaves al momento de pagar, o con la política original en commit.