Español ▾ Topics ▾ Latest version ▾ git-reset last updated in 2.54.0

NOMBRE

git-reset - Establece HEAD o el índice a un estado especifico

SINOPSIS

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<confirmación>]
git reset [-q] [<árbol-ismo>] [--] <especificación-de-ruta>…​
git reset [-q] [--pathspec-from-file=<fichero> [--pathspec-file-nul]] [<árbol-ismo>]
git reset (--patch | -p) [<árbol-ismo>] [--] [<especificación-de-ruta>…​]

DESCRIPCIÓN

git reset hace cualquiera de lo siguiente:

  1. git reset [<modo>] <confirmación> modifica a qué confirmación apunta HEAD. Esto hace posible deshacer varias operaciones Git, por ejemplo commit, merge, rebase y pull.

  2. Cuando usted especifica ficheros o directorios o pasa --patch, git reset actualiza la versión presentada de los ficheros especificados.

    git reset [<modo>] [<confirmación>]

    Establece la head de la rama actual (HEAD) para que apunte a <confirmación>. Dependiendo de <modo>, también actualiza el directorio de trabajo y/o el índice para que coincida con el contenido de <confirmación>. <confirmación> se predetermina a HEAD. Antes de la operación, ORIG_HEAD se establece a la punta de la rama actual.

    El <modo> debe ser uno de los siguientes (predeterminado --mixed):

    --mixed

    Deja tu directorio de trabajo sin cambios. Actualiza el índice para coincidir con el nuevo HEAD, así que nada será presentado.

    Si se especifica -N, marca las rutas eliminadas como intento de inclusión (ver git-add[1]).

    --soft

    Deja los ficheros de tu árbol de trabajo y tu índice sin cambiar. Por ejemplo, si no tienes cambios presentados, puedes utilizar git reset --soft HEAD~5; git commit para combinar las 5 últimas confirmaciones en una sola. Esto funciona incluso con cambios en el árbol de trabajo, los cuales quedan intactos, aunque esta utilización puede llevar a confusión.

    --hard

    Sobrescribe todos los ficheros y directorios con la versión de <commit>, lo que sobrescribe ficheros no presentados. Ficheros presentados no presentes en <commit> son eliminados para que el árbol de trabajo coincida con <commit>. Actualiza el índice para coincidir con el nuevo HEAD, así que nada será presentado.

    --merge

    Restablece el índice y actualiza los ficheros en el árbol de trabajo que son diferentes entre <confirmación> y HEAD, pero mantiene aquellos que son diferentes entre el índice y el árbol de trabajo (p. ej. aquellos cambios que no han sido agregados). Existe principalmente para restablecer entradas del índice sin fusionar, como aquellas que quedaron atrás por git am -3 o git switch -m en ciertas situaciones. Si un fichero tiene diferencias entre <confirmación> y el índice tiene cambios sin presentar, se aborta el restablecimiento.

    --keep

    Restablece entradas del índice y actualiza ficheros en el árbol de trabajo que tienen diferencias entre <confirmación> y HEAD. Si un fichero tiene diferencias entre <confirmación> y HEAD tiene cambios locales, se aborta el restablecimiento.

    --recurse-submodules
    --no-recurse-submodules

    Cuando se actualiza el árbol de trabajo, usar --recurse-submodules también restablecerá recursivamente el árbol de trabajo de todos los submódulos activos según la confirmación registrada en el superproyecto, también separando la HEAD de los submódulos de esa confirmación.

    git reset [-q] [<árbol-ismo>] [--] <ruta>...
    git reset [-q] [--pathspec-from-file=<fichero> [--pathspec-file-nul]] [<árbol>]

    Para todos los ficheros o directorios especificados establece la versión presentada a la versión de confirmación o árbol dada (la cual se predetermina a HEAD).

    Esto significa que git reset <especificación-de-ruta> es lo opuesto a git add <especificación-de-ruta>: deja de presentar todos los cambios en los ficheros o directorios especificados. Equivale a git restore --staged <especificación-de-ruta>....

    En este modo git reset actualiza solo el índice (sin actualizar los ficheros de HEAD o del árbol de trabajo). Si quiere actualizar tanto los ficheros como las entradas del índice use git-restore[1].

    git reset (--patch | -p) [<árbol-ismo>] [--] [<ruta>...]

    Selecciona interactivamente cambios a partir de la diferencia entre el índice y la confirmación o árbol especificado (que se predeterminada a HEAD). El índice es modificado usando los cambios seleccionados.

    Esto significa que git reset -p es lo opuesto a git add -p, p. ej. puedes usarlo para retirar selectivamente cambios de la presentación. Ver la sección "Modo interactivo" de git-add[1] para aprender cómo usar la opción --patch.

Ver "Restablecer, restaurar y revertir" en git[1] para diferenciar los tres comandos.

OPCIONES

-q
--quiet

Ser silencioso, solo reportar errores.

--refresh
--no-refresh

Refresca el índice después de restablecimiento mixto. Habilitado predeterminadamente.

--pathspec-from-file=<fichero>

La especificación de ruta se pasa en _<fichero>_ y no como argumento en la línea de comandos. Si _<fichero>_ es exactamente - entonces se usa la entrada estándar. Los elementos de la especificación de ruta se separan por LF o CR/LF. Los elementos de la especificación de ruta pueden ser entrecomillados como se explica para la variable de configuración core.quotePath (ver git-config[1]). Ver también --pathspec-file-nul y --literal-pathspecs global.

--pathspec-file-nul

Sólo significativo con --pathspec-from-file. Los elementos de la especificación de ruta se separan con el caracter NUL y todos los otros caracteres se toman literalmente (incluyendo saltos de línea y entrecomillados).

-U<n>
--unified=<n>

Genera diferencias con <n> líneas de contexto. El número de líneas de contexto es predeterminado a diff.context o 3 si se omite la configuración de la variable. (