Uso paso a paso de Visual Studio Git Extension para la fusión

Cada proyecto grupal en el que trabajo en Visual Studio usando su complemento Git Extension, nos encontramos con la fusión de problemas. Ocurren conflictos de fusión extraños o inesperados para casos específicos, y no sé dónde estamos yendo mal o cómo nuestra interpretación de cómo usar git es oblicua.

Nuestra configuration es esta. Hay una twig principal, donde va todo el código finalizado, y cada desarrollador tiene su propia twig de trabajo local. Los desarrolladores codifican en su twig, y ​​cuando están listos, después de haber sido revisados ​​por otros y acordados por todo el equipo, pueden join a la twig principal.

Para probar la funcionalidad de la twig principal, cada uno de nosotros agregó una class vacía con un nombre diferente a nuestra twig de trabajo local, y luego se confirmó. Después de comprometernos, uno a uno nos íbamos a fusionar en maestros. Me fusioné, y todo funcionó bien. Luego, otro desarrollador intentó fusionar su twig local con el maestro y recibió un error de fusión.

El error de fusión se produjo en el file .csproj. Estaba intentando anular la class que agregué (que se llamó "Michael.cs") con el file que el otro desarrollador agregó (que se llamó "Roman.cs"). La siguiente image ilustra el conflicto de fusión:

enter image description here

Tenga en count que antes de que cada uno agregara nuestra propia class, todos estábamos sincronizados. Después de que agregamos nuestras classs y nos comprometimos con nuestras sucursales locales, no nos sincronizamos nuevamente.

Este tipo de conflicto de fusión ocurre mucho y es muy irritante. Entonces, me gustaría saber, de una vez por todas, qué es exactamente , hasta cada clic del mouse, el process de fusión en Visual Studio + Git para que no ocurran errores como estos. ¿Cuál es el process paso a paso garantizado para el trabajo que garantizará que estos conflictos de fusión nunca ocurran?

No se moleste en vincular a la documentation. Ya lo leí, y no nos sirve.

Aunque esto no es un procedimiento paso a paso para fusionarse en VS, esto ayudará. Asegúrese de que en su file .gitattributes tenga la línea *.csproj merge=union (y posiblemente la misma para *.sln y cualquier otro proyecto VS o files relacionados que necesite) . Esto resolverá los conflictos de combinación simples automáticamente, como el ejemplo en la pregunta original, pero aún pueden ocurrir algunos conflictos más grandes (aunque más raramente).