Resolver un conflicto de combinación de VSG17 GIT

Intentar que funcione un flujo de trabajo de GIT pero que sea difícil utilizar la interfaz de usuario de GIT VS2017 (v15.4.2).

Estos son mis pasos:

  • Creando un nuevo proyecto de WinForms llamado Test y creando un repository local para él.
  • Crear una twig desde la twig principal denominada feature1
  • Crear una twig desde la twig principal denominada feature2
  • Active la twig feature1 agregue una class llamada Class1 y agregue un método llamado Feature1 a ella
  • Confirmar los cambios
  • Active la twig feature2 agregue una class llamada Class1 y agregue un método llamado Feature2 a ella
  • Confirmar los cambios
  • Combina la twig feature2 en la twig master (la twig master ahora tiene Class1 con el método Feature2)
  • Combina la twig feature1 en el master.

Esto creará un conflicto de fusión. Sin embargo, el conflicto de fusión no se puede resolver sin crear un file Class1 no válido. No parece posible agregar solo el método Feature1 al file Class1 existente ya que también inserta las instrucciones de uso y la definición de class.

¿Cómo agrego solo el método Feature2 agregado a Class1 existente? ¿Me estoy perdiendo algo obvio aquí?

Gracias por tu time.

Desafortunadamente, resolver merge conflicts en Visual Studio no es una experiencia ideal a partir de ahora. Las dos copys se comparan sobre la base de sus confirmaciones y sus hashes correspondientes. Dado que dos files pueden parecer idénticos y aún pueden originarse a partir de dos commits diferentes que tienen hash diferentes, Visual Studio encuentra difícil resolver dicha confirmación. Tienes dos opciones en este caso:

  1. Copie manualmente el método Feature2 y agréguelo a su copy de trabajo en la twig feature1 y luego intente combinar esta twig con la master . Nuevamente enfrentará un merge conflict , pero Visual Studio le brinda la opción de take source o take target . En este caso, puede take source que corresponde a su twig feature1 , ya que sabe con certeza que esta twig tiene todos los cambios necesarios, y puede ignorar los conflictos que el master tiene para ofrecer.
  2. Instale Tortoise Git . También puede optar por cualquier otro cliente de git acnetworkingitado. Dichos clientes detectarán los cambios que son idénticos y resolverán automáticamente merge-conflicts , del tipo de los que está sufriendo aquí.

Puede "fusionar" los files en conflicto en Visual Studio y editar la versión fusionada antes de completar la fusión. En la página Resolver conflictos, debe poder seleccionar el conflicto y fusionarlo. Después de resolver los conflictos, puede aceptar el resultado (editando el contenido resuelto, si es necesario).

Debería ver una IU similar a la siguiente: Fusionar archivo conflictivo

¿Esto le permite resolver el conflicto como se esperaba (y con éxito)?