Vale la pena entender qué significan esos mensajes de error, needs merge
e error: you need to resolve your current index first
indicar que una fusión falló y que hay conflictos en esos archivos. Si después de todo ha decidido que cualquier combinación que intentara hacer era una mala idea, puede volver a la normalidad con:
git reset --merge
Sin embargo, de lo contrario, debe resolver esos conflictos de fusión, como se describe en el manual de git .
Una vez que haya lidiado con eso mediante cualquiera de las técnicas, debería poder pagar la 9-sign-in-out
rama. El problema con solo cambiarle el nombre 9-sign-in-out
a master
, como se sugiere en la respuesta de wRAR, es que si ha compartido su rama maestra anterior con alguien, esto creará problemas para ellos, ya que si el historial de las dos ramas divergió, publicará reescritas historia.
Esencialmente lo que quiere hacer es fusionar su sucursal tema 9-sign-in-out
en master
pero exactamente mantener las versiones de los archivos en la rama tema. Puede hacer esto con los siguientes pasos:
# Switch to the topic branch:
git checkout 9-sign-in-out
# Create a merge commit, which looks as if it's merging in from master, but is
# actually discarding everything from the master branch and keeping everything
# from 9-sign-in-out:
git merge -s ours master
# Switch back to the master branch:
git checkout master
# Merge the topic branch into master - this should now be a fast-forward
# that leaves you with master exactly as 9-sign-in-out was:
git merge 9-sign-in-out