Uh oh ... He cometido un error bastante complejo (incluyendo el subdirectorio y el cambio de nombre de los archivos) sin saber realmente qué estoy haciendo (o qué estaría haciendo Git) .Git: Cómo deshacer commit * y * revertir a la última rama
ahora quiero deshacer todo de tal manera que:
- confirmación se invierte por completo (como si que nunca se ha hecho, quizás sacarlo de la historia también)
- Restaurar directorio de trabajo actual (donde
.git
es) a una determinada rama (la última lo hará por ahora).
He encontrado referencias a git reset --soft y git reset --hard pero ya han demostrado a mí mismo que puedo hacer verdadero daño por prematuramente mediante un comando sin comprender plenamente. :)
he encontrado el git reset man page pero todavía estoy confundido en cuanto a:
- ¿Cuál es
HEAD
? - ¿Cuál es la diferencia entre
HEAD
y* master
? - En mi situación (ver arriba) ¿Necesito usar necesito usar
--soft
,--hard
o otro (3 opciones más)? - ¿Debo ejecutar otro comando (después de hacer
git reset
) al "finalizar" la inversión?
ACTUALIZACIÓN: Después de leer la respuesta a continuación:
- hacer yo entendido bien que todo lo que necesito hacer en mi situación es cuestión un solo comando
git reset --hard HEAD^
? - ¿Cómo verifico que la inversión fue realizada correctamente?
Dado que está aprendiendo git, permítame recomendarle dos libros: [git community book] (http://book.git-scm.com/index .html) y [pro git] (http://progit.org/book/), que están completamente en línea. – shelhamer
@Shelhamer ¡Gracias! – WinWin