Comencé a hacer cambios en mi base de código, sin darme cuenta de que estaba en una rama de tema antigua. Para transferirlos, quería guardarlos y luego aplicarlos a una nueva rama fuera del maestro. Solía git stash poptransferir los cambios de trabajo en progreso a esta nueva rama, olvidando que no había introducido nuevos cambios en el maestro antes de crear la nueva rama. Esto dio lugar a un montón de conflictos de fusión y la pérdida de un alijo limpio de mis cambios (ya que usé pop).
Una vez que vuelva a crear la nueva rama correctamente, ¿cómo puedo recuperar mis cambios escondidos para aplicarlos correctamente?

git stash dropcomo el último paso para deshacerse del alijo no deseado del # 2.git stash pop: "La aplicación del estado puede fallar con los conflictos; en este caso, no se elimina de la lista de ocultación. Debe resolver los conflictos a mano y llamargit stash dropmanualmente después". ( git-scm.com/docs/git-stash )Por suerte
git stash popno no cambie el alijo en el caso de un conflicto!Así que nada, de qué preocuparse, simplemente limpie su código y vuelva a intentarlo.
Digamos que su base de código estaba limpia antes, podría volver a ese estado con:
git checkout -fLuego, haga las cosas que olvidó, por ejemplo,
git merge missing-branchdespués de eso simplemente dispare
git stash popnuevamente y obtenga el mismo alijo, que entró en conflicto antes.Atención: el alijo es seguro, sin embargo, los cambios no confirmados en el directorio de trabajo no lo son. Pueden enredarse.
fuente
git stash popintento de fusión automática, en conflicto y lo guardé.git stash popcon la frecuencia que necesite hasta que termine sin conflicto. Entonces, después de su conflicto, sí, el directorio de trabajo está en desorden, sin embargo, puede limpiarlo ygit stash popvolver a llamar .git checkout -f:!Las instrucciones aquí son un poco complicadas, así que voy a ofrecer algo más sencillo:
git reset HEAD --hardAbandonar todos los cambios a la rama actual...Realizar trabajos intermedios según sea necesariogit stash popVuelva a abrir el alijo nuevamente en una fecha posterior cuando esté listofuente
debe funcionar, si su estado anterior es limpio.
fuente