GIT llega a una versión anterior y regresa a la versión en desarrollo

Lo que quiero hacer : estoy trabajando con un código usando git versioning. Me di count de que algunas testings no se ejecutaban con una versión anterior del código (2 confirmaciones anteriores en la misma twig). Así que quiero ejecutar esas testings que requieren modificar algunos files de input seguidos por git y luego quiero volver a mi versión de desarrollo insuficiente como si nada hubiera pasado (sin preocuparme por los cambios realizados en los files de input, ya que no me importa acerca de estos cambios).

Lo que hice : Guardo mi versión underdev y luego compré la versión anterior. Modifiqué algunos files e hice las ejecuciones. Luego viene el problema: cuando git escondo, no volví a mi versión de underdev (pensé que sí). Permanecí en un estado de cabeza separada en la versión anterior.

Afortunadamente, anoté la identificación de la versión de underdev, así que creo que puedo pagar para volver allí. Pero, ¿alguien puede explicarme qué hice mal y cómo puedo hacer lo que quiero de una manera limpia?

Su subdev es dos cosas:

  • un historial de compromiso
  • cambios sin escena

Has guardado los cambios sin escena usando git stash.

Para volver a su versión de underdev, debe realizar el pago en la sucursal que era cuando la escondió.

Puede encontrar esa información en el git stash show .

Aquí está tu flujo de trabajo:

 git stash git checkout OLD_COMMIT *do some work* #Throw the changes away git checkout . git checkout UNDERDEV_BRANCH git stash pop 

Digamos que comenzaste en la twig foo .

Esta frase parece implicar que no devolvió su puntero HEAD a su location original:

Permanecí en un estado de cabeza separada en la versión anterior

Entonces, para salir del estado de "cabeza separada" y recuperar su trabajo no comprometido:

 git checkout foo git stash apply 

En el futuro, puede ser más fácil simplemente comprometer su trabajo en progreso en una twig temática con un flujo de trabajo como este:

 # save your work on a topic branch git checkout -b myTopicBranch git add . git commit -m "wip" # run tests on older revision git checkout oldSha run tests... # ok, done, back to work git checkout myTopicBranch 

Luego, simplemente vuelva a combinar su trabajo para dominar una vez que haya terminado de trabajar en la twig de temas.

Si ha comprometido cada cambio de su versión de underdev y su tree de trabajo está limpio, git stash simplemente le dice No local changes to save , en cuyo caso no se agrega ningún nuevo escondite.

Si su versión de underdev tiene un nombre de twig, solo git checkout <branch> puede llevarlo de return. Una forma más común es usar git reflog para encontrar las confirmaciones previas a las que se refería HEAD.