¿Cómo continuar con la fusión si todos los conflictos se pueden resolver revisando los de ellos?

Estoy fusionando mis files en un repository remoto.

Obtengo conflictos de fusión cuando lo empujo hacia arriba. Extrañamente, estos son todos los files que nunca toqué en mi twig (pero eso es probablemente para otra publicación).

git checkout --theirs todos sus files.

Entonces me git commit .

Pero no estoy seguro de qué hacer a continuación.

Si git push obtengo otro error de combinación con los mismos files.

git merge --continue no funciona en mi versión de git.

¿Alguien sabría lo que debería hacer ahora?

Well @ sajib-khan es correcto en lo que es el procedimiento de libro de text para su caso, pero siento que hay más cosas sucediendo aquí.

En primer lugar, tenga en count que en Git, es imposible combinar el conflicto en push. El único caso que puede evitar que la parte de la historia con la que intentas actualizar una twig remota lo haga es que tu parte del historial no contiene el historial actual de esa twig remota¹. Para explicarlo en otras palabras, si la twig que intenta actualizar termina en esta secuencia de confirmaciones

 …→C→D→E 

no puedes actualizarlo con la parte de la historia que termina como

 …→C→D→X→Y→Z 

porque tu pieza solo contiene C y D pero no contiene E Emprendedor

 …→C→D→E→X→Y→Z 

en cambio iría bien.

Por lo tanto, es posible que su problema sea trivial y que mientras estuvo ocupado fusionándose, alguien haya logrado actualizar la twig remota con más compromisos y, naturalmente, necesite reconciliar de nuevo su trabajo con el trabajo remoto.

Permítanme enfatizar esto de nuevo: Git nunca se fusiona de forma remota, solo actualiza las twigs y las tags con lo que se envió. Al hacerlo, garantiza que cuando se actualiza una twig, se actualiza "de manera aditiva", es decir, los nuevos cambios solo se añaden a la serie de confirmaciones apuntadas actualmente por la twig a punto de actualizarse.

En segundo lugar, el caso "extraño" en el que solo tiene files "no tuyos" marcados como en conflicto puede indicar que se enfrenta a un problema de EOL: por ejemplo, alguien cambió los LF únicos (marcas de fin de línea estilo Unix) a CR+LF Secuencias CR+LF (marcas EOL de Windows) y comprometido el cambio; para ti esto se verá como un conflicto de files completos porque, naturalmente, todas las líneas de esos files se modificaron. Por lo tanto, intentaré investigar si ese es realmente el caso.

En tercer lugar, no considere trabajar con un repository remoto compartido ya que es necesario luchar para ganar sin importar cómo. Si tiene un conflicto de werid, como lo hace, deténgase e investigue.

Comience con git fetch y luego inspeccione los commits que han aparecido en la twig remota desde el punto en que se separaron y su twig local. Digamos, si estamos hablando de "maestro", hazlo

 git log origin/master ^master 

lo que significa «muéstrame qué hay en la twig" maestra "que acabo de get del repository de" origen "que no está en mi twig" maestra "local». Vea lo que esos compromisos cambian.

Si no puede comprender el motivo del conflicto, busque a quien sea que esté a cargo de ese repository o del proyecto que alberga y tráigalos para solicitar una solución.

Intentar eludir un problema lleva a casos como los que son malos para todos.


¹ Bueno, a exception de los ganchos de repository personalizados que son progtwigs que Git ejecuta en puntos específicos del intercambio de datos y que se pueden usar para verificar los datos entrantes de cualquier forma y no realizar la operación de inserción en curso, si es necesario.