Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.55.0 no changes
-
2.54.0
2026-04-20
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
- 2.51.1 → 2.51.2 no changes
-
2.51.0
2025-08-18
- 2.50.1 no changes
-
2.50.0
2025-06-16
- 2.39.4 → 2.49.1 no changes
-
2.39.3
2023-04-17
- 2.36.1 → 2.39.2 no changes
-
2.36.0
2022-04-18
- 2.34.1 → 2.35.8 no changes
-
2.34.0
2021-11-15
- 2.27.1 → 2.33.8 no changes
-
2.27.0
2020-06-01
- 2.25.1 → 2.26.3 no changes
-
2.25.0
2020-01-13
- 2.23.1 → 2.24.4 no changes
-
2.23.0
2019-08-16
- 2.22.1 → 2.22.5 no changes
-
2.22.0
2019-06-07
- 2.21.1 → 2.21.4 no changes
-
2.21.0
2019-02-24
- 2.20.1 → 2.20.5 no changes
-
2.20.0
2018-12-09
- 2.15.4 → 2.19.6 no changes
-
2.14.6
2019-12-06
-
2.13.7
2018-05-22
-
2.12.5
2017-09-22
- 2.1.4 → 2.11.4 no changes
-
2.0.5
2014-12-17
SINOPSIS
gitreset[--soft|--mixed[-N] |--hard|--merge|--keep] [-q] [<confirmación>]gitreset[-q] [<árbol-ismo>] [--] <especificación-de-ruta>…gitreset[-q] [--pathspec-from-file=<fichero> [--pathspec-file-nul]] [<árbol-ismo>]gitreset(--patch|-p) [<árbol-ismo>] [--] [<especificación-de-ruta>…]
DESCRIPCIÓN
git reset hace cualquiera de lo siguiente:
-
gitreset[<modo>] <confirmación> modifica a qué confirmación apuntaHEAD. Esto hace posible deshacer varias operaciones Git, por ejemplo commit, merge, rebase y pull. -
Cuando usted especifica ficheros o directorios o pasa
--patch,gitresetactualiza la versión presentada de los ficheros especificados.-
gitreset[<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 aHEAD. Antes de la operación,ORIG_HEADse 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 porgitam-3ogitswitch-men 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> yHEADtiene cambios locales, se aborta el restablecimiento. -
--recurse-submodules -
--no-recurse-submodules -
Cuando se actualiza el árbol de trabajo, usar
--recurse-submodulestambié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 laHEADde los submódulos de esa confirmación.
-
-
gitreset[-q] [<árbol-ismo>] [--] <ruta>... -
gitreset[-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
gitreset<especificación-de-ruta> es lo opuesto agitadd<especificación-de-ruta>: deja de presentar todos los cambios en los ficheros o directorios especificados. Equivale agitrestore--staged<especificación-de-ruta>....En este modo
gitresetactualiza solo el índice (sin actualizar los ficheros deHEADo del árbol de trabajo). Si quiere actualizar tanto los ficheros como las entradas del índice use git-restore[1]. -
gitreset(--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
gitreset-pes lo opuesto agitadd-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óncore.quotePath(ver git-config[1]). Ver también--pathspec-file-nuly--literal-pathspecsglobal. -
--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.contexto 3 si se omite la configuración de la variable. (