Git reset
El comando git reset te permite REESTABLECER su HEAD actual a un estado específico. Tú puedes restablecer el estado de archivos específicos, así como toda una rama entera.
Reiniciar un archivo o conjuntos de archivos
El siguiente comando te permite elegir selectivamente trozos de contenido revertirlo o eliminarlos del área stage.
git reset (--patch | -p) [tree-ish] [--] [paths]Reiniciar estado de un archivo
Si, tú has movido un archivo al área de stage con git add, pero ya no quieres que forme parte del commit, tú puedes usar git reset eliminarlo del área stage:
git reset HEAD ARCHIVO_ELIMINAR_DEL_STAGELos cambios que hiciste seguirán en el archivo, este comando sólo elimina ese archivo del área stage.
Reiniciar una rama a su anterior commit
El siguiente comando restablece el HEAD de su rama actual, al commit dado y actualiza su índice. Básicamente rebobina el estado de tu rama, ahora todos los commits que escribas vendrán después del punto de RESET. Si omites el MODO, el valor predeterminado es --mixed:
git reset MODO COMMITLas opciones de MODOS son:
--soft: no reinicia el archivo índice o el árbol de trabajo, sino que reinicia el HEAD paracommit. Cambia todos los archivos a "Cambios a realizar".--mixed: Restablece el índice, pero no el árbol de trabajo e informa de lo que no ha sido actualizado--hard: Restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos de seguimiento en el árbol de trabajo desde elcommitson descartados.--merge: Restablece el índice y actualiza los archivos del árbol de trabajo que son diferentes entre elcommity el HEAD, pero mantiene los que son diferentes entre el índice y el árbol de trabajo.--keep: Restablece las entradas de índice y actualiza los archivos en el árbol de trabajo que son diferentes entrecommity HEAD. Si un archivo que es diferente entre lacommity HEAD tiene cambios locales, el restablecimiento es abortado.
Traducido del artículo - The Git Reset Command