¿Cómo ignorar el conflicto de fusión?

2 minutos de lectura

Tengo el siguiente conflicto de fusión:

<<<<<<< Updated upstream
    my( $c, $name ) =  (shift,shift);
  my %name =  defined $name ? ( name => $name ) : ();

||||||| merged common ancestors
    my( $c ) =  shift;
=======
    my( $c, $name ) =  (shift,shift);

  my %name =  defined $name ? ( name => $name ) : ();
>>>>>>> Stashed changes

<<<<<<< Updated upstream
    return $c->render_to_string( 'control/toggle', id => "toggle$id", %name, @_ );
||||||| merged common ancestors
  return $c->render_to_string( 'control/toggle', @_, id => "toggle$id" );
=======
    return $c->render_to_string( 'control/toggle', id => "toggle$id",  %name,  @_ );
>>>>>>> Stashed changes

¿Existe una opción para ignorar tales conflictos si solo hay cambios en los espacios en blanco? Al igual que -w -b opciones

  • Ni siquiera puedo ver la diferencia de espacios en blanco en el primer conflicto (está claro en el segundo conflicto: coma espacio espacio signo de porcentaje name), pero no, no existe tal opción.

    – torek

    28 de enero de 2018 a las 21:27

  • @torek: en el primer ejemplo, hay una diferencia de línea vacía. ¿Qué os parece, será útil tal opción?

    – Eugen Konkov

    29 de enero de 2018 a las 7:50

  • Dado que Git tiene algunos manejo de espacios en blanco (principalmente al final de las líneas), si lo generalizaste y lo hiciste viable con git apply y git merge ambos, bien podría ser útil.

    – torek

    29 de enero de 2018 a las 15:32

avatar de usuario
meuhmeuh

Bueno, no puedes ignorar los conflictos, porque eso significa que algo anda mal, y tienes que decirle a Git que solucionaste el conflicto.

Si realmente desea mantener el archivo tal como está, puede eliminar las líneas de diferencia de conflicto y luego git add / git commit los archivos que estaban en conflicto para que conserve todas las líneas del archivo.

De lo contrario, si desea mantener una versión específica (ya sea “suyo”, es decir, lo que intentó fusionar en su código base local o “nuestro”, es decir, su código base) del archivo, puede usar:

git checkout --ours my/file

O

git checkout --theirs my/file

No olvides, entonces, enviar los archivos para que git no esté en este modo de conflicto raro.

  • Si ignoramos los espacios entonces no hay conflicto. Así que nada está mal, ¿no?

    – Eugen Konkov

    29 de enero de 2018 a las 7:48

  • El espacio en blanco es lo que crea el conflicto. Depende de usted elegir qué línea usar.

    – evoluciónxbox

    29 de enero de 2018 a las 9:25

¿Ha sido útil esta solución?