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
:
Los 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
:
Las 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 elcommit
son descartados.--merge
: Restablece el índice y actualiza los archivos del árbol de trabajo que son diferentes entre elcommit
y 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 entrecommit
y HEAD. Si un archivo que es diferente entre lacommit
y HEAD tiene cambios locales, el restablecimiento es abortado.
Traducido del artículo - The Git Reset Command