Git merge informa "Ya actualizado", aunque hay una diferencia
Tengo un repositorio git con 2 ramas: master y test.
Existen diferencias entre las ramas maestra y de prueba.
Ambas ramas tienen todos los cambios comprometidos.
Si lo hago:
maestro de pago de git
prueba de diferenciación de git
Aparece una pantalla llena de cambios mostrando las diferencias. Quiero fusionar los cambios en la rama de prueba y también lo hago:
prueba de fusión de git
Pero aparece el mensaje "Ya actualizado"
Sin embargo, al examinar los archivos de cada rama diferente se muestran claramente diferencias.
¿Cuál es el problema aquí y cómo lo resuelvo?
El mensaje "Ya actualizado" significa que todos los cambios de la rama que estás intentando fusionar ya se han combinado en la rama en la que te encuentras actualmente. Más específicamente, significa que la rama que estás intentando fusionar es una rama principal de tu rama actual . Felicitaciones, esa es la fusión más fácil que jamás haya realizado. :)
Úselo gitk
para echar un vistazo a su repositorio. La etiqueta de la rama "prueba" debe estar en algún lugar debajo de la etiqueta de la rama "maestra".
Su sucursal está actualizada con respecto a su matriz. Según la fusión, no hay nuevos cambios en el padre desde la última fusión. Eso no significa que las ramas sean las mismas, porque puedes tener muchos cambios en tu rama de trabajo y parece que sí.
Editar 12/10/2019:
Según Charles Drake en el comentario a esta respuesta, una solución para solucionar el problema es:
git checkout master
git reset --hard test
Esto lo devuelve al nivel de "prueba".
Entonces hazlo:
git push --force origin master
para forzar que los cambios regresen al repositorio central.
Esto me sucede a menudo cuando sé que hay cambios en el maestro remoto, así que intento fusionarlos usando git merge master
. Sin embargo, esto no se fusiona con el maestro remoto, sino con su maestro local.
Entonces, antes de realizar la fusión, verifique el maestro y luego git pull
allí. Luego podrá fusionar los nuevos cambios en su rama.