Git merge- ¿Ya está actualizado: restablecimiento completo?

Estoy usando Git como control de versiones para un proyecto de Django / Python para el cual recientemente me hice cargo del desarrollo, ya que no lo había usado mucho anteriormente.

Recientemente, creé una nueva twig de la twig master , para trabajar en la reparación de un error (obviamente, haciendo el desarrollo en mi máquina local, con la intención de presionar al server una vez que había arreglado el error).

La twig en la que he estado haciendo el trabajo de desarrollo se llama dateReceived , y recientemente arreglé el error particular en el que había creado esta twig para trabajar.

Después de completar el trabajo, traté de fusionar dateReceived con mi master local, pero hubo una serie de conflictos que parecían romper mi twig master local, y no pude resolverlos, por lo que la versión en mi master local era entonces no mas time trabajando

Restauré a mi master local una copy de security que había hecho de la versión en vivo en el server comprobando una commit que había hecho antes de comenzar a trabajar en este error, cuando todo lo demás seguía funcionando. Esto significaba que estaba brevemente en un estado de 'cabeza separada', antes de comprometerme / ramificar nuevamente, y comencé a trabajar desde allí. Yo ya no estaba en un estado de 'cabeza separada'.

Por lo tanto, en el server activo, ahora tengo la twig master original, que funciona correctamente, a exception del error en el que estoy trabajando localmente, y en mi máquina de desarrollo, tengo dos twigs: master , que está list para funcionar. date con la versión en el server en vivo (y en la cual aún existe la dateReceived ), y dateReceived , que está funcionando correctamente (con el error corregido).

Si pago por mi twig master local y veo el sitio en mi browser desde localhost:800/.../.../concept , puedo ver que la falla aún existe cuando bash realizar esa function en particular en esa página de el website.

Pero, si pago por mi twig dateReceived local, y veo el sitio en mi browser desde localhost:8000/.../.../concept , puedo ver que el error ha sido reparado cuando trato de realizar esa function en particular esa página del website.

Si bash fusionar dateReceived en master nuevamente ahora en mi máquina local (listo para enviar mi twig master local al server una vez que esté actualizado con el error solucionado) usando el command:

 git merge dateReceived 

de mi twig master , recibo un post que dice:

Ya está actualizado

pero claramente no lo es, ya que el error aún existe en el master , pero está fijado en dateReceived .

Si corro:

 git diff dateReceived 

desde mi twig master , se muestra una list de las diferencias entre el master y la dateReceived , así que, claramente, Git puede decir que hay diferencias entre las dos twigs …

Encontré una pregunta similar en: Git merge reports "Ya está actualizado" aunque hay una diferencia

y la respuesta aceptada parece sugerir que la twig que estoy tratando de fusionar es una madre de mi twig actual, lo que supongo que pudo haber sucedido cuando restauré una confirmación después de romper mi master local.

Parece que la forma de resolver esto es hacer un hard reset completo, pero soy bastante cauteloso de hacerlo, ya que, según tengo entendido, eliminará completamente los cambios, etc. sin posibilidad de reversión después de que lo haga …

¿Es esta la única manera de resolver el problema que estoy teniendo con el master diciendo que ya está actualizado cuando bash fusionar otra twig en él, aunque realmente puedo ver que no lo está, o hay algo más que yo pueda tener? ¿puede hacer?

¿Cuáles son los riesgos potenciales de hacer un hard reset y cómo puedo minimizar esos riesgos? ¿Hay algo más que pueda hacer para resolver este problema de git merge , de modo que pueda fusionar dateReceived en master para enviar la versión fija al server?

la respuesta aceptada parece sugerir que la twig que bash fusionar es una madre de mi twig actual

Creo que esto es cierto o que le pasó algo más a la sucursal master local para ponerse en mal estado. Independientemente de lo que esté mal, debería restablecerlo a la versión que está en el control remoto, que parece funcionar correctamente (less el error). Pruebe lo siguiente:

 git fetch origin # update origin/master to the remote git checkout master # switch to local master branch git reset --hard origin/master # reset local master to origin/master 

Y luego intenta hacer la fusión nuevamente:

 git merge dateReceived 

Si obtienes conflictos de fusión, no entres en pánico, sino examina cada file en conflicto en tu IDE si es posible, o incluso en cualquier editor de text. Supongo que podrás superarlos. Luego, haz que la fusión se comprometa y esperemos que tu error se resuelva.