🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 44 (from laksa090)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
11 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.4 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting
Last Crawled2026-04-01 13:45:57 (11 days ago)
First Indexed2019-07-21 06:59:19 (6 years ago)
HTTP Status Code200
Meta TitleRestablecimiento, extracción y reversión | Tutorial de Atlassian sobre Git
Meta DescriptionEl comando git checkout se usa para actualizar el estado del repositorio a un punto específico del historial de proyectos. Descubre maneras diferentes de deshacer cambios en Git.
Meta Canonicalnull
Boilerpipe Text
Los comandos git reset , git checkout y git revert son algunas de las herramientas más útiles de tu caja de herramientas de Git. Todos te permiten deshacer algún tipo de cambio en tu repositorio, y los dos primeros comandos se pueden usar para manipular confirmaciones o archivos individuales. Como son muy similares, es muy fácil confundir qué comando se debe usar en una situación de desarrollo determinada. En este artículo, compararemos las configuraciones más comunes de git reset , git checkout y git revert . Espero que puedas marcharte con la seguridad necesaria para navegar por tu repositorio con cualquiera de estos comandos. Es útil pensar en cada comando según el efecto que tiene en los tres mecanismos de gestión del estado de un repositorio de Git: el directorio de trabajo, la instantánea preparada y el historial de confirmaciones. Estos componentes se conocen a veces como "los tres árboles" de Git. Exploramos los tres árboles en profundidad en la página de git reset . Ten en cuenta los mecanismos al leer este artículo. Una extracción es una operación que mueve el puntero de referencia HEAD a una confirmación especificada. Para hacer una demostración, vamos a analizar el siguiente ejemplo: En este ejemplo se muestra una secuencia de confirmaciones en la rama main . La referencia HEAD y la referencia de la rama main en estos momentos apuntan a la confirmación d. Ahora vamos a ejecutar git checkout b Esta es una actualización del árbol "Historial de confirmaciones". El comando git checkout se puede usar en un alcance de confirmación o de nivel de archivo. Una extracción de nivel de archivo cambiará el contenido del archivo por el de la confirmación específica. Una reversión es una operación que toma una confirmación especificada y crea una nueva confirmación que invierte dicha confirmación especificada. git revert solo se puede ejecutar en un alcance de nivel de confirmación y no tiene funcionalidad de nivel de archivo. El restablecimiento es una operación que toma una confirmación especificada y restablece los" tres árboles" para que coincidan con el estado del repositorio en esa confirmación especificada. El restablecimiento se puede invocar de tres maneras diferentes que corresponden a los tres árboles. La extracción y el restablecimiento se utilizan generalmente para hacer operaciones de "deshacer" locales o privadas. Modifican el historial de un repositorio que puede provocar conflictos al ejecutar operaciones de envío a repositorios compartidos remotos. La reversión se considera una operación segura para "acciones de deshacer públicas", ya que crea un nuevo historial que se puede compartir de forma remota y no sobrescribe el historial del que pueden depender los miembros del equipo remoto. Referencia de git reset frente a revert y checkout En la siguiente tabla se resumen los casos de uso más comunes para todos estos comandos. Ten esta referencia a mano, ya que sin duda necesitarás usar al menos algunos de ellos durante tu trayectoria con Git. Comando Ámbito de aplicación Casos de uso comunes git reset Nivel de confirmación Descartar las confirmaciones en una rama privada o desechar los cambios no confirmados git reset Nivel de archivo Deshacer la preparación de un archivo git checkout Nivel de confirmación Cambiar entre ramas o inspeccionar instantáneas antiguas git checkout Nivel de archivo Descartar los cambios en el directorio de trabajo git revert Nivel de confirmación Deshacer confirmaciones en una rama pública git revert Nivel de archivo (N/D) Operaciones de nivel de confirmación Los parámetros que pasas a git reset y git checkout determinan su alcance. Cuando no incluyes una ruta de archivo como parámetro, funcionan en confirmaciones completas. Eso es lo que exploraremos en esta sección. Ten en cuenta que git revert no tiene un equivalente de nivel de archivo. Restablecer una confirmación específica En el nivel de confirmación, el restablecimiento es una forma de mover la punta de una rama a una confirmación diferente. Se puede usar para eliminar confirmaciones de la rama actual. Por ejemplo, el siguiente comando mueve la rama de revisión hacia atrás mediante dos confirmaciones. git checkout hotfix git reset HEAD~2 Las dos confirmaciones que estaban al final de la revisión ahora son confirmaciones suspendidas o huérfanas. Esto significa que se eliminarán la próxima vez que Git realice una recolección de basura. En otras palabras, estás diciendo que quieres desecharlas. Esto se puede visualizar de la siguiente manera: Este uso de git reset es una forma sencilla de deshacer los cambios que no se han compartido con nadie más. Es el comando preferido si has empezado a trabajar en una función y de repente piensas: "¡Madre mía!, ¿qué estoy haciendo? Debería empezar de nuevo". Además de mover la rama actual, también puedes hacer que git reset modifique la instantánea preparada o el directorio de trabajo pasándole una de las siguientes marcas: —--soft : la instantánea preparada y el directorio de trabajo no se modifican de ninguna manera. —mixed : la instantánea preparada se actualiza para que coincida con la confirmación especificada, pero el directorio de trabajo no se ve afectado. Esta es la opción predeterminada. --hard : la instantánea preparada y el directorio de trabajo se actualizan para que coincidan con la confirmación especificada. Es más fácil pensar en estos modos como la definición del alcance de una operación de git reset . Para obtener información más detallada, visita la página de git reset . Extraer confirmaciones anteriores El comando git checkout se usa para actualizar el estado del repositorio a un punto específico del historial de proyectos. Cuando se transmite con un nombre de rama, permite cambiar entre ramas. git checkout hotfix Internamente, todo lo que hace el comando anterior es mover HEAD a una rama diferente y actualizar el directorio de trabajo para que coincida. Como esto tiene el potencial de sobrescribir los cambios locales, Git te obliga a confirmar o guardar cualquier cambio en el directorio de trabajo que se perderá durante la operación de extracción. A diferencia de git reset , git checkout no mueve ninguna rama. También puedes extraer las confirmaciones arbitrarias pasando la referencia de confirmación en lugar de una rama. Esta operación hace exactamente lo mismo que cuando se extrae una rama: mueve la referencia HEAD a la confirmación especificada. Por ejemplo, el siguiente comando extraerá el elemento principal de la confirmación actual: git checkout HEAD~2 Esto resulta útil para inspeccionar rápidamente una versión anterior del proyecto. Sin embargo, dado que no hay una referencia de rama al HEAD actual, esto te pone en un estado HEAD separado. Esto puede ser peligroso si empiezas a añadir nuevas confirmaciones, porque no habrá forma de volver a ellas después de cambiar a otra rama. Por esta razón, siempre debes crear una nueva rama antes de agregar confirmaciones a un HEAD separado. Deshacer confirmaciones públicas con la reversión La reversión deshace una confirmación creando una nueva confirmación. Esta es una forma segura de deshacer los cambios, ya que no hay posibilidad de que se sobrescriba el historial de confirmaciones. Por ejemplo, el siguiente comando determinará los cambios incluidos en la penúltima confirmación, creará una nueva confirmación para deshacerlos y añadirá la nueva confirmación al proyecto existente. git checkout hotfix git revert HEAD~2 Esto se puede visualizar de la siguiente manera: Contrasta esto con git reset , que modifica el historial de confirmaciones existente. Por este motivo, git revert se debe usar para deshacer los cambios en una rama pública, mientras que git reset se debe reservar para deshacer los cambios en una rama privada. También puedes pensar en git revert como una herramienta para deshacer cambios confirmados , mientras que git reset HEAD es para deshacer cambios no confirmados . Al igual que git checkout , git revert tiene el potencial de sobrescribir archivos en el directorio de trabajo, por lo que te pedirá que confirmes o guardes los cambios que se perderían durante la operación de reversión. Operaciones de nivel de archivo Los comandos git reset y git checkout también aceptan una ruta de archivo opcional como parámetro. Esto modifica considerablemente su comportamiento. En lugar de operar en instantáneas completas, esto los obliga a limitar sus operaciones a un solo archivo. Ejecutar git reset en un archivo específico Cuando se invoca con una ruta de archivo, git reset actualiza la instantánea preparada para que coincida con la versión de la confirmación especificada. Por ejemplo, este comando buscará la versión de foo.py en la penúltima confirmación y la preparará para la próxima confirmación: git reset HEAD~2 foo.py Al igual que con la versión de git reset de nivel de confirmación, este se usa más habitualmente con HEAD en lugar de con una confirmación arbitraria. La ejecución de git reset HEAD foo.py deshará la preparación de foo.py . Los cambios que contiene seguirán presentes en el directorio de trabajo. Las marcas --soft , --mixed y --hard no tienen ningún efecto en la versión de nivel de archivo de git reset , ya que la instantánea preparada siempre se actualiza y el directorio de trabajo no lo hace nunca . Ejecutar git checkout en un archivo Extraer un archivo es similar a usar git reset con una ruta de archivo, salvo que se actualiza el directorio de trabajo en lugar del entorno de ensayo. A diferencia de la versión de nivel de confirmación de este comando, este no mueve la referencia HEAD , lo que significa que no cambiarás de rama. Por ejemplo, el siguiente comando hace que foo.py en el directorio de trabajo coincida con el de la penúltima confirmación: git checkout HEAD~2 foo.py Al igual que la invocación de nivel de confirmación de git checkout , se puede usar para inspeccionar versiones anteriores de un proyecto, pero el alcance se limita al archivo especificado. Si preparas y confirmas el archivo extraído, la operación tiene el efecto de "revertir" a la versión anterior de ese archivo. Ten en cuenta que esto elimina todos los cambios posteriores en el archivo, mientras que el comando git revert deshace solo los cambios introducidos por la confirmación especificada. Al igual que git reset , esto se usa habitualmente con HEAD como referencia de confirmación. Por ejemplo, git checkout HEAD foo.py tiene el efecto de descartar los cambios no preparados en foo.py . Este es un comportamiento similar al de git reset HEAD --hard , pero solo actúa en el archivo especificado. Resumen Ahora deberías tener todas las herramientas que se pueden necesitar para deshacer los cambios en un repositorio de Git. Los comandos git reset , git checkout y git revert pueden resultar confusos, pero si piensas en los efectos que tienen en el directorio de trabajo, la instantánea preparada y el historial de confirmaciones, debería ser más fácil diferenciar qué comando se ajusta a la tarea de desarrollo en cuestión.
Markdown
[Saltar al contenido](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting#content) - [Productos](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) Destacadas Desarrolladores Gestores de productos Profesionales de TI Equipos empresariales Equipos de liderazgo [Ver todas las aplicaciones](https://www.atlassian.com/es/software) - ## Aplicaciones funcionales - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) ## Colecciones de Atlassian - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) - [Presta tus servicios a gran velocidad Jira Service ManagementCustomer Service ManagementAssets](https://www.atlassian.com/es/collections/service) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) Con tecnología de [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Bitbucket** Código fuente y CI/CD](https://www.atlassian.com/es/software/bitbucket) - [**Rovo Dev** Agentic AI para desarrolladores](https://www.atlassian.com/es/software/rovo-dev) - [**Pipelines** Automatización de CI/CD escalable](https://www.atlassian.com/es/software/bitbucket/features/pipelines) - [**DX** Mide la productividad y el impacto de la IA](https://www.atlassian.com/es/collections/software) - [**Compass** Catálogo de software para equipos](https://www.atlassian.com/es/software/compass) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [**Jira Product Discovery** Registra y prioriza las ideas](https://www.atlassian.com/es/software/jira/product-discovery) - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Guard** Seguridad en la nube mejorada](https://www.atlassian.com/es/software/guard) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [**Trello** Captura y organiza tus tareas](https://trello.com/home) - [**Loom** Actualizaciones de vídeo rápidas y asíncronas](https://www.atlassian.com/es/software/loom) - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Customer Service Management** Experiencias de cliente reinventadas](https://www.atlassian.com/es/software/customer-service-management) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [**Focus** Planificación estratégica a escala empresarial](https://www.atlassian.com/es/software/focus) - [**Talent** Conocimiento sobre la planificación de la plantilla](https://www.atlassian.com/es/software/talent) - [**Align** Valor y planificación del trabajo en toda la empresa](https://www.atlassian.com/es/software/jira/align) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [Soluciones](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) Soluciones ## Por caso práctico - [Colaboración de Equipos](https://www.atlassian.com/es/collections/teamwork) - [Estrategia y planificación](https://www.atlassian.com/es/collections/strategy) - [Gestión de servicios](https://www.atlassian.com/es/collections/service) - [Desarrollo de software](https://www.atlassian.com/es/collections/software) ## Por equipo - [Software](https://www.atlassian.com/es/collections/software) - [Marketing](https://www.atlassian.com/es/teams/marketing) - [TI](https://www.atlassian.com/es/teams/it) - [Producto](https://www.atlassian.com/es/software/jira/product-discovery%20) ## Por tamaño - [Enterprise](https://www.atlassian.com/es/enterprise) - [Pequeños negocios](https://www.atlassian.com/es/software/small-business) - [Startup](https://www.atlassian.com/es/software/startups) - [Organizaciones sin fines de lucro](https://www.atlassian.com/es/teams/nonprofits) ## Por sector - [Comercio minorista](https://www.atlassian.com/es/industries/retail) - [Telecomunicaciones](https://www.atlassian.com/es/industries/telecom) - [Servicios profesionales](https://www.atlassian.com/es/industries/professional-services) - [Gobierno](https://www.atlassian.com/es/government) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) - [¿Por qué Atlassian?](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Sistema de trabajo NewEl modelo de Atlassian sobre la colaboración de los equipos](https://www.atlassian.com/es/system-of-work) - [MarketplaceConecta miles de aplicaciones a tus productos de Atlassian](https://marketplace.atlassian.com/) - [ClientesCasos prácticos e historias centrados en el trabajo en equipo](https://www.atlassian.com/es/customers) - [FedRAMPSoluciones que cumplen los requisitos del sector público](https://www.atlassian.com/es/trust/compliance/resources/fedramp) - [ResistenciaInfraestructura de alto rendimiento y de nivel empresarial](https://www.atlassian.com/es/trust/resilience) - [PlataformaNuestra plataforma segura, fiable y profundamente integrada](https://www.atlassian.com/es/platform) - [Trust CenterGarantiza la seguridad, la conformidad y la disponibilidad de tus datos](https://www.atlassian.com/es/trust) - [Recursos](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Atención al clienteHaz preguntas, informa de errores y danos tu opinión](https://support.atlassian.com/) - [Buscar un partnerConsultoría, formación y soporte para la personalización de productos](https://partnerdirectory.atlassian.com/es) - [Atlassian AscendRecursos y soporte para tu transformación](https://www.atlassian.com/es/migration) - [CommunityAprende, conecta y crece con la Comunidad de Atlassian](https://community.atlassian.com/) ## Soporte ## Recursos - [Enterprise](https://www.atlassian.com/es/enterprise) - Más + [Obtener gratis](https://www.atlassian.com/es/try) - Productos - Destacadas - Desarrolladores - Gestores de productos - Profesionales de TI - Equipos empresariales - Equipos de liderazgo - Soluciones - ¿Por qué Atlassian? - Recursos - [Enterprise](https://www.atlassian.com/es/enterprise) [Iniciar sesión](https://id.atlassian.com/login?continue=https%3A%2F%2Fwww.atlassian.com%2Fgateway%2Fapi%2Fstart%2Fauthredirect) - ## Aplicaciones funcionales - [Jira Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [Confluence Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [Jira Service Management Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) ## Colecciones de Atlassian - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) - [Presta tus servicios a gran velocidad Jira Service ManagementCustomer Service ManagementAssets](https://www.atlassian.com/es/collections/service) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) Con tecnología de [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Desarrolladores - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Bitbucket** Código fuente y CI/CD](https://www.atlassian.com/es/software/bitbucket) - [**Rovo Dev** Agentic AI para desarrolladores](https://www.atlassian.com/es/software/rovo-dev) - [**Pipelines** Automatización de CI/CD escalable](https://www.atlassian.com/es/software/bitbucket/features/pipelines) - [**DX** Mide la productividad y el impacto de la IA](https://www.atlassian.com/es/collections/software) - [**Compass** Catálogo de software para equipos](https://www.atlassian.com/es/software/compass) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Gestores de productos - [**Jira Product Discovery** Registra y prioriza las ideas](https://www.atlassian.com/es/software/jira/product-discovery) - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Profesionales de TI - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Guard** Seguridad en la nube mejorada](https://www.atlassian.com/es/software/guard) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Equipos empresariales - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [**Trello** Captura y organiza tus tareas](https://trello.com/home) - [**Loom** Actualizaciones de vídeo rápidas y asíncronas](https://www.atlassian.com/es/software/loom) - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Customer Service Management** Experiencias de cliente reinventadas](https://www.atlassian.com/es/software/customer-service-management) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Equipos de liderazgo - [**Focus** Planificación estratégica a escala empresarial](https://www.atlassian.com/es/software/focus) - [**Talent** Conocimiento sobre la planificación de la plantilla](https://www.atlassian.com/es/software/talent) - [**Align** Valor y planificación del trabajo en toda la empresa](https://www.atlassian.com/es/software/jira/align) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Soluciones ## Por caso práctico - [Colaboración de Equipos](https://www.atlassian.com/es/collections/teamwork) - [Estrategia y planificación](https://www.atlassian.com/es/collections/strategy) - [Gestión de servicios](https://www.atlassian.com/es/collections/service) - [Desarrollo de software](https://www.atlassian.com/es/collections/software) ## Por equipo - [Software](https://www.atlassian.com/es/collections/software) - [Marketing](https://www.atlassian.com/es/teams/marketing) - [TI](https://www.atlassian.com/es/teams/it) - [Producto](https://www.atlassian.com/es/software/jira/product-discovery%20) ## Por tamaño - [Enterprise](https://www.atlassian.com/es/enterprise) - [Pequeños negocios](https://www.atlassian.com/es/software/small-business) - [Startup](https://www.atlassian.com/es/software/startups) - [Organizaciones sin fines de lucro](https://www.atlassian.com/es/teams/nonprofits) ## Por sector - [Comercio minorista](https://www.atlassian.com/es/industries/retail) - [Telecomunicaciones](https://www.atlassian.com/es/industries/telecom) - [Servicios profesionales](https://www.atlassian.com/es/industries/professional-services) - [Gobierno](https://www.atlassian.com/es/government) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) ¿Por qué Atlassian? [Sistema de trabajo NewEl modelo de Atlassian sobre la colaboración de los equipos](https://www.atlassian.com/es/system-of-work) [MarketplaceConecta miles de aplicaciones a tus productos de Atlassian](https://marketplace.atlassian.com/) [ClientesCasos prácticos e historias centrados en el trabajo en equipo](https://www.atlassian.com/es/customers) [FedRAMPSoluciones que cumplen los requisitos del sector público](https://www.atlassian.com/es/trust/compliance/resources/fedramp) [ResistenciaInfraestructura de alto rendimiento y de nivel empresarial](https://www.atlassian.com/es/trust/resilience) [PlataformaNuestra plataforma segura, fiable y profundamente integrada](https://www.atlassian.com/es/platform) [Trust CenterGarantiza la seguridad, la conformidad y la disponibilidad de tus datos](https://www.atlassian.com/es/trust) Recursos [Atención al clienteHaz preguntas, informa de errores y danos tu opinión](https://support.atlassian.com/) [Buscar un partnerConsultoría, formación y soporte para la personalización de productos](https://partnerdirectory.atlassian.com/es) [Atlassian AscendRecursos y soporte para tu transformación](https://www.atlassian.com/es/migration) [CommunityAprende, conecta y crece con la Comunidad de Atlassian](https://community.atlassian.com/) Soporte - [Dudas generales](https://www.atlassian.com/es/company/contact/general-inquiries) - [Servicio técnico](https://support.atlassian.com/contact/) - [Asesoramiento sobre productos](https://www.atlassian.com/es/company/contact/product-evaluator-advice) - [Precios y facturación](https://www.atlassian.com/es/company/contact/purchasing-licensing) - [Soporte por parte de partners](https://www.atlassian.com/es/partners) - [Soporte para desarrolladores](https://developer.atlassian.com/) - [Soporte Enterprise](https://www.atlassian.com/es/enterprise/services) - [Compras y licencias](https://www.atlassian.com/es/licensing/purchase-licensing) Recursos - [Gestión de proyectos](https://www.atlassian.com/es/project-management) - [Colaboración en proyectos](https://www.atlassian.com/es/work-management/project-collaboration) - [Metodología ágil](https://www.atlassian.com/es/agile) - [Manual de estrategias del equipo](https://www.atlassian.com/es/team-playbook) - [Atlassian Learning](https://community.atlassian.com/learning) - [Documentación del producto](https://confluence.atlassian.com/display/ALLDOC/Atlassian+Documentation) - [Empieza ya](https://www.atlassian.com/es/get-started) [Saltar al contenido](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting#content) - Productos - Destacadas - Desarrolladores - Gestores de productos - Profesionales de TI - Equipos empresariales - Equipos de liderazgo - Soluciones - ¿Por qué Atlassian? - Recursos - [Enterprise](https://www.atlassian.com/es/enterprise) [Iniciar sesión](https://id.atlassian.com/login?continue=https%3A%2F%2Fwww.atlassian.com%2Fgateway%2Fapi%2Fstart%2Fauthredirect) - ## Aplicaciones funcionales - [Jira Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [Confluence Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [Jira Service Management Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) ## Colecciones de Atlassian - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) - [Presta tus servicios a gran velocidad Jira Service ManagementCustomer Service ManagementAssets](https://www.atlassian.com/es/collections/service) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) Con tecnología de [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Desarrolladores - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Bitbucket** Código fuente y CI/CD](https://www.atlassian.com/es/software/bitbucket) - [**Rovo Dev** Agentic AI para desarrolladores](https://www.atlassian.com/es/software/rovo-dev) - [**Pipelines** Automatización de CI/CD escalable](https://www.atlassian.com/es/software/bitbucket/features/pipelines) - [**DX** Mide la productividad y el impacto de la IA](https://www.atlassian.com/es/collections/software) - [**Compass** Catálogo de software para equipos](https://www.atlassian.com/es/software/compass) - [Lanza software de calidad rápidamente Rovo DevDXPipelinesBitbucketCompass](https://www.atlassian.com/es/collections/software) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Gestores de productos - [**Jira Product Discovery** Registra y prioriza las ideas](https://www.atlassian.com/es/software/jira/product-discovery) - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Profesionales de TI - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Guard** Seguridad en la nube mejorada](https://www.atlassian.com/es/software/guard) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Equipos empresariales - [**Jira** Gestión flexible de proyectos](https://www.atlassian.com/es/software/jira) - [**Confluence** Todo el conocimiento en el mismo sitio](https://www.atlassian.com/es/software/confluence) - [**Trello** Captura y organiza tus tareas](https://trello.com/home) - [**Loom** Actualizaciones de vídeo rápidas y asíncronas](https://www.atlassian.com/es/software/loom) - [**Jira Service Management** Presta servicio a alta velocidad](https://www.atlassian.com/es/software/jira/service-management) - [**Customer Service Management** Experiencias de cliente reinventadas](https://www.atlassian.com/es/software/customer-service-management) - [Potencia el trabajo en equipo optimizado JiraConfluenceLoom](https://www.atlassian.com/es/collections/teamwork) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Equipos de liderazgo - [**Focus** Planificación estratégica a escala empresarial](https://www.atlassian.com/es/software/focus) - [**Talent** Conocimiento sobre la planificación de la plantilla](https://www.atlassian.com/es/software/talent) - [**Align** Valor y planificación del trabajo en toda la empresa](https://www.atlassian.com/es/software/jira/align) - [Optimiza la estrategia y los resultados con confianza FocusTalentAlign](https://www.atlassian.com/es/collections/strategy) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) Soluciones ## Por caso práctico - [Colaboración de Equipos](https://www.atlassian.com/es/collections/teamwork) - [Estrategia y planificación](https://www.atlassian.com/es/collections/strategy) - [Gestión de servicios](https://www.atlassian.com/es/collections/service) - [Desarrollo de software](https://www.atlassian.com/es/collections/software) ## Por equipo - [Software](https://www.atlassian.com/es/collections/software) - [Marketing](https://www.atlassian.com/es/teams/marketing) - [TI](https://www.atlassian.com/es/teams/it) - [Producto](https://www.atlassian.com/es/software/jira/product-discovery%20) ## Por tamaño - [Enterprise](https://www.atlassian.com/es/enterprise) - [Pequeños negocios](https://www.atlassian.com/es/software/small-business) - [Startup](https://www.atlassian.com/es/software/startups) - [Organizaciones sin fines de lucro](https://www.atlassian.com/es/teams/nonprofits) ## Por sector - [Comercio minorista](https://www.atlassian.com/es/industries/retail) - [Telecomunicaciones](https://www.atlassian.com/es/industries/telecom) - [Servicios profesionales](https://www.atlassian.com/es/industries/professional-services) - [Gobierno](https://www.atlassian.com/es/government) [Rovo Aplicaciones con tecnología de IA, impulsadas por el conocimiento de tu equipo.](https://www.atlassian.com/es/software/rovo) ¿Por qué Atlassian? [Sistema de trabajo NewEl modelo de Atlassian sobre la colaboración de los equipos](https://www.atlassian.com/es/system-of-work) [MarketplaceConecta miles de aplicaciones a tus productos de Atlassian](https://marketplace.atlassian.com/) [ClientesCasos prácticos e historias centrados en el trabajo en equipo](https://www.atlassian.com/es/customers) [FedRAMPSoluciones que cumplen los requisitos del sector público](https://www.atlassian.com/es/trust/compliance/resources/fedramp) [ResistenciaInfraestructura de alto rendimiento y de nivel empresarial](https://www.atlassian.com/es/trust/resilience) [PlataformaNuestra plataforma segura, fiable y profundamente integrada](https://www.atlassian.com/es/platform) [Trust CenterGarantiza la seguridad, la conformidad y la disponibilidad de tus datos](https://www.atlassian.com/es/trust) Recursos [Atención al clienteHaz preguntas, informa de errores y danos tu opinión](https://support.atlassian.com/) [Buscar un partnerConsultoría, formación y soporte para la personalización de productos](https://partnerdirectory.atlassian.com/es) [Atlassian AscendRecursos y soporte para tu transformación](https://www.atlassian.com/es/migration) [CommunityAprende, conecta y crece con la Comunidad de Atlassian](https://community.atlassian.com/) Soporte - [Dudas generales](https://www.atlassian.com/es/company/contact/general-inquiries) - [Servicio técnico](https://support.atlassian.com/contact/) - [Asesoramiento sobre productos](https://www.atlassian.com/es/company/contact/product-evaluator-advice) - [Precios y facturación](https://www.atlassian.com/es/company/contact/purchasing-licensing) - [Soporte por parte de partners](https://www.atlassian.com/es/partners) - [Soporte para desarrolladores](https://developer.atlassian.com/) - [Soporte Enterprise](https://www.atlassian.com/es/enterprise/services) - [Compras y licencias](https://www.atlassian.com/es/licensing/purchase-licensing) Recursos - [Gestión de proyectos](https://www.atlassian.com/es/project-management) - [Colaboración en proyectos](https://www.atlassian.com/es/work-management/project-collaboration) - [Metodología ágil](https://www.atlassian.com/es/agile) - [Manual de estrategias del equipo](https://www.atlassian.com/es/team-playbook) - [Atlassian Learning](https://community.atlassian.com/learning) - [Documentación del producto](https://confluence.atlassian.com/display/ALLDOC/Atlassian+Documentation) - [Empieza ya](https://www.atlassian.com/es/get-started) Temas sobre Git - Aprende Git - [Comandos de Git](https://www.atlassian.com/es/git/glossary) - [Aprende a usar Git con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-git-with-bitbucket-cloud) - [Obtén información sobre la revisión del código en Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-about-code-review-in-bitbucket-cloud) - [Aprende sobre ramas con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-branching-with-bitbucket-cloud) - [Aprende sobre cómo deshacer cambios con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-undoing-changes-with-bitbucket) - Principiante - [Qué es el control de versiones](https://www.atlassian.com/es/git/tutorials/what-is-version-control) - [Gestión del código fuente](https://www.atlassian.com/es/git/tutorials/source-code-management) - [Qué es Git](https://www.atlassian.com/es/git/tutorials/what-is-git) - [Por qué utilizar Git en tu organización](https://www.atlassian.com/es/git/tutorials/why-git) - [Instalar Git](https://www.atlassian.com/es/git/tutorials/install-git) - [SSH de Git](https://www.atlassian.com/es/git/tutorials/git-ssh) - [Archivo Git](https://www.atlassian.com/es/git/tutorials/export-git-archive) - [GitOps](https://www.atlassian.com/es/git/tutorials/gitops) - [Chuleta de Git](https://www.atlassian.com/es/git/tutorials/atlassian-git-cheatsheet) - Inicio - Configuración de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository) - [git init](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-init) - [git clone](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-clone) - [git config](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-config) - [Alias de Git](https://www.atlassian.com/es/git/tutorials/git-alias) - Guardado de cambios (git add) - [Presentación](https://www.atlassian.com/es/git/tutorials/saving-changes) - [git commit](https://www.atlassian.com/es/git/tutorials/saving-changes/git-commit) - [git diff](https://www.atlassian.com/es/git/tutorials/saving-changes/git-diff) - [git stash](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) - [.gitignore](https://www.atlassian.com/es/git/tutorials/saving-changes/gitignore) - Examen de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository) - [git tag](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-tag) - [git blame](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-blame) - Deshacer cambios - [Presentación](https://www.atlassian.com/es/git/tutorials/undoing-changes) - [git clean](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-clean) - [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) - [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset) - [git rm](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-rm) - Reescritura del historial - [Presentación](https://www.atlassian.com/es/git/tutorials/rewriting-history) - [git rebase](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-rebase) - [git reflog](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-reflog) - Flujos de trabajo colaborativos - Sincronización (git remote) - [Presentación](https://www.atlassian.com/es/git/tutorials/syncing) - [git fetch](https://www.atlassian.com/es/git/tutorials/syncing/git-fetch) - [git push](https://www.atlassian.com/es/git/tutorials/syncing/git-push) - [git pull](https://www.atlassian.com/es/git/tutorials/syncing/git-pull) - [Realizar una pull request](https://www.atlassian.com/es/git/tutorials/making-a-pull-request) - Uso de ramas (git branch) - [Presentación](https://www.atlassian.com/es/git/tutorials/using-branches) - [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) - [Git merge](https://www.atlassian.com/es/git/tutorials/using-branches/git-merge) - [Fusiona los conflictos](https://www.atlassian.com/es/git/tutorials/using-branches/merge-conflicts) - [Combinación de estrategias](https://www.atlassian.com/es/git/tutorials/using-branches/merge-strategy) - Comparar flujos de trabajo - [Presentación](https://www.atlassian.com/es/git/tutorials/comparing-workflows) - [Flujo de trabajo de rama de función](https://www.atlassian.com/es/git/tutorials/comparing-workflows/feature-branch-workflow) - [Flujo de trabajo de Gitflow](https://www.atlassian.com/es/git/tutorials/comparing-workflows/gitflow-workflow) - [Flujo de trabajo de bifurcación](https://www.atlassian.com/es/git/tutorials/comparing-workflows/forking-workflow) - Migración a Git - [De SVN a Git: prepárate para la migración](https://www.atlassian.com/es/git/tutorials/svn-to-git-prepping-your-team-migration) - Migración a Git desde SVN - [Presentación](https://www.atlassian.com/es/git/tutorials/migrating-overview) - [Preparar](https://www.atlassian.com/es/git/tutorials/migrating-prepare) - [Convertir](https://www.atlassian.com/es/git/tutorials/migrating-convert) - [Sincronizar](https://www.atlassian.com/es/git/tutorials/migrating-synchronize) - [Compartir](https://www.atlassian.com/es/git/tutorials/migrating-share) - [Migración](https://www.atlassian.com/es/git/tutorials/migrating-migrate) - [De Perforce a Git: por qué dar el paso](https://www.atlassian.com/es/git/tutorials/perforce-git) - [Migración de Perforce a Git](https://www.atlassian.com/es/git/tutorials/perforce-git-migration) - [Trabajar con Git y Perforce: flujo de trabajo de integración](https://www.atlassian.com/es/git/tutorials/git-p4) - [Cómo mover un repositorio de Git con historial](https://www.atlassian.com/es/git/tutorials/git-move-repository) - Consejos avanzados - [Presentación](https://www.atlassian.com/es/git/tutorials/advanced-overview) - [La fusión frente a la reorganización](https://www.atlassian.com/es/git/tutorials/merging-vs-rebasing) - [Restablecimiento, extracción y reversión](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Git log avanzado](https://www.atlassian.com/es/git/tutorials/git-log) - [Hooks de Git](https://www.atlassian.com/es/git/tutorials/git-hooks) - [Referencias y registro de referencias](https://www.atlassian.com/es/git/tutorials/refs-and-the-reflog) - [Submódulos de Git](https://www.atlassian.com/es/git/tutorials/git-submodule) - [Subárbol de Git](https://www.atlassian.com/es/git/tutorials/git-subtree) - [Grandes repositorios en Git](https://www.atlassian.com/es/git/tutorials/big-repositories) - [Git LFS](https://www.atlassian.com/es/git/tutorials/git-lfs) - [Git gc](https://www.atlassian.com/es/git/tutorials/git-gc) - [Git prune](https://www.atlassian.com/es/git/tutorials/git-prune) - [Git bash](https://www.atlassian.com/es/git/tutorials/git-bash) - [Cómo almacenar archivos ocultos](https://www.atlassian.com/es/git/tutorials/dotfiles) - [Git Cherry Pick](https://www.atlassian.com/es/git/tutorials/cherry-pick) - [GitK](https://www.atlassian.com/es/git/tutorials/gitk) - [Git-show](https://www.atlassian.com/es/git/tutorials/git-show) - Artículos - [Lidiar con las dependencias de Maven al cambiar a Git (en inglés)](https://www.atlassian.com/es/git/articles/maven-dependencies-versions-merging) - [Dominio de las solicitudes de incorporación de cambios: ¡descubre las capacidades de recuperación! (en inglés)](https://www.atlassian.com/es/git/articles/pull-request-proficiency-fetching-abilities-unlocked) - [Git y dependencias de proyectos](https://www.atlassian.com/es/git/articles/git-and-project-dependencies) - [¿Git o SVN? Nuance Healthcare se decantó por un modelo de creación de ramas de Git](https://www.atlassian.com/es/git/articles/git-or-svn-git-branching-model) - [Bifurcaciones y repositorios upstream: instrucciones y consejo interesante (en inglés)](https://www.atlassian.com/es/git/tutorials/git-forks-and-upstreams) - [Conceptos básicos, flujos de trabajo y consejos](https://www.atlassian.com/es/git/articles/core-concept-workflows-and-tips) Temas sobre Git - Aprende Git - [Comandos de Git](https://www.atlassian.com/es/git/glossary) - [Aprende a usar Git con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-git-with-bitbucket-cloud) - [Obtén información sobre la revisión del código en Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-about-code-review-in-bitbucket-cloud) - [Aprende sobre ramas con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-branching-with-bitbucket-cloud) - [Aprende sobre cómo deshacer cambios con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-undoing-changes-with-bitbucket) - Principiante - [Qué es el control de versiones](https://www.atlassian.com/es/git/tutorials/what-is-version-control) - [Gestión del código fuente](https://www.atlassian.com/es/git/tutorials/source-code-management) - [Qué es Git](https://www.atlassian.com/es/git/tutorials/what-is-git) - [Por qué utilizar Git en tu organización](https://www.atlassian.com/es/git/tutorials/why-git) - [Instalar Git](https://www.atlassian.com/es/git/tutorials/install-git) - [SSH de Git](https://www.atlassian.com/es/git/tutorials/git-ssh) - [Archivo Git](https://www.atlassian.com/es/git/tutorials/export-git-archive) - [GitOps](https://www.atlassian.com/es/git/tutorials/gitops) - [Chuleta de Git](https://www.atlassian.com/es/git/tutorials/atlassian-git-cheatsheet) - Inicio - Configuración de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository) - [git init](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-init) - [git clone](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-clone) - [git config](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-config) - [Alias de Git](https://www.atlassian.com/es/git/tutorials/git-alias) - Guardado de cambios (git add) - [Presentación](https://www.atlassian.com/es/git/tutorials/saving-changes) - [git commit](https://www.atlassian.com/es/git/tutorials/saving-changes/git-commit) - [git diff](https://www.atlassian.com/es/git/tutorials/saving-changes/git-diff) - [git stash](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) - [.gitignore](https://www.atlassian.com/es/git/tutorials/saving-changes/gitignore) - Examen de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository) - [git tag](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-tag) - [git blame](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-blame) - Deshacer cambios - [Presentación](https://www.atlassian.com/es/git/tutorials/undoing-changes) - [git clean](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-clean) - [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) - [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset) - [git rm](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-rm) - Reescritura del historial - [Presentación](https://www.atlassian.com/es/git/tutorials/rewriting-history) - [git rebase](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-rebase) - [git reflog](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-reflog) - Flujos de trabajo colaborativos - Sincronización (git remote) - [Presentación](https://www.atlassian.com/es/git/tutorials/syncing) - [git fetch](https://www.atlassian.com/es/git/tutorials/syncing/git-fetch) - [git push](https://www.atlassian.com/es/git/tutorials/syncing/git-push) - [git pull](https://www.atlassian.com/es/git/tutorials/syncing/git-pull) - [Realizar una pull request](https://www.atlassian.com/es/git/tutorials/making-a-pull-request) - Uso de ramas (git branch) - [Presentación](https://www.atlassian.com/es/git/tutorials/using-branches) - [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) - [Git merge](https://www.atlassian.com/es/git/tutorials/using-branches/git-merge) - [Fusiona los conflictos](https://www.atlassian.com/es/git/tutorials/using-branches/merge-conflicts) - [Combinación de estrategias](https://www.atlassian.com/es/git/tutorials/using-branches/merge-strategy) - Comparar flujos de trabajo - [Presentación](https://www.atlassian.com/es/git/tutorials/comparing-workflows) - [Flujo de trabajo de rama de función](https://www.atlassian.com/es/git/tutorials/comparing-workflows/feature-branch-workflow) - [Flujo de trabajo de Gitflow](https://www.atlassian.com/es/git/tutorials/comparing-workflows/gitflow-workflow) - [Flujo de trabajo de bifurcación](https://www.atlassian.com/es/git/tutorials/comparing-workflows/forking-workflow) - Migración a Git - [De SVN a Git: prepárate para la migración](https://www.atlassian.com/es/git/tutorials/svn-to-git-prepping-your-team-migration) - Migración a Git desde SVN - [Presentación](https://www.atlassian.com/es/git/tutorials/migrating-overview) - [Preparar](https://www.atlassian.com/es/git/tutorials/migrating-prepare) - [Convertir](https://www.atlassian.com/es/git/tutorials/migrating-convert) - [Sincronizar](https://www.atlassian.com/es/git/tutorials/migrating-synchronize) - [Compartir](https://www.atlassian.com/es/git/tutorials/migrating-share) - [Migración](https://www.atlassian.com/es/git/tutorials/migrating-migrate) - [De Perforce a Git: por qué dar el paso](https://www.atlassian.com/es/git/tutorials/perforce-git) - [Migración de Perforce a Git](https://www.atlassian.com/es/git/tutorials/perforce-git-migration) - [Trabajar con Git y Perforce: flujo de trabajo de integración](https://www.atlassian.com/es/git/tutorials/git-p4) - [Cómo mover un repositorio de Git con historial](https://www.atlassian.com/es/git/tutorials/git-move-repository) - Consejos avanzados - [Presentación](https://www.atlassian.com/es/git/tutorials/advanced-overview) - [La fusión frente a la reorganización](https://www.atlassian.com/es/git/tutorials/merging-vs-rebasing) - [Restablecimiento, extracción y reversión](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Git log avanzado](https://www.atlassian.com/es/git/tutorials/git-log) - [Hooks de Git](https://www.atlassian.com/es/git/tutorials/git-hooks) - [Referencias y registro de referencias](https://www.atlassian.com/es/git/tutorials/refs-and-the-reflog) - [Submódulos de Git](https://www.atlassian.com/es/git/tutorials/git-submodule) - [Subárbol de Git](https://www.atlassian.com/es/git/tutorials/git-subtree) - [Grandes repositorios en Git](https://www.atlassian.com/es/git/tutorials/big-repositories) - [Git LFS](https://www.atlassian.com/es/git/tutorials/git-lfs) - [Git gc](https://www.atlassian.com/es/git/tutorials/git-gc) - [Git prune](https://www.atlassian.com/es/git/tutorials/git-prune) - [Git bash](https://www.atlassian.com/es/git/tutorials/git-bash) - [Cómo almacenar archivos ocultos](https://www.atlassian.com/es/git/tutorials/dotfiles) - [Git Cherry Pick](https://www.atlassian.com/es/git/tutorials/cherry-pick) - [GitK](https://www.atlassian.com/es/git/tutorials/gitk) - [Git-show](https://www.atlassian.com/es/git/tutorials/git-show) - Artículos - [Lidiar con las dependencias de Maven al cambiar a Git (en inglés)](https://www.atlassian.com/es/git/articles/maven-dependencies-versions-merging) - [Dominio de las solicitudes de incorporación de cambios: ¡descubre las capacidades de recuperación! (en inglés)](https://www.atlassian.com/es/git/articles/pull-request-proficiency-fetching-abilities-unlocked) - [Git y dependencias de proyectos](https://www.atlassian.com/es/git/articles/git-and-project-dependencies) - [¿Git o SVN? Nuance Healthcare se decantó por un modelo de creación de ramas de Git](https://www.atlassian.com/es/git/articles/git-or-svn-git-branching-model) - [Bifurcaciones y repositorios upstream: instrucciones y consejo interesante (en inglés)](https://www.atlassian.com/es/git/tutorials/git-forks-and-upstreams) - [Conceptos básicos, flujos de trabajo y consejos](https://www.atlassian.com/es/git/articles/core-concept-workflows-and-tips) Temas sobre Git - Aprende Git - [Comandos de Git](https://www.atlassian.com/es/git/glossary) - [Aprende a usar Git con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-git-with-bitbucket-cloud) - [Obtén información sobre la revisión del código en Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-about-code-review-in-bitbucket-cloud) - [Aprende sobre ramas con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-branching-with-bitbucket-cloud) - [Aprende sobre cómo deshacer cambios con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-undoing-changes-with-bitbucket) - Principiante - [Qué es el control de versiones](https://www.atlassian.com/es/git/tutorials/what-is-version-control) - [Gestión del código fuente](https://www.atlassian.com/es/git/tutorials/source-code-management) - [Qué es Git](https://www.atlassian.com/es/git/tutorials/what-is-git) - [Por qué utilizar Git en tu organización](https://www.atlassian.com/es/git/tutorials/why-git) - [Instalar Git](https://www.atlassian.com/es/git/tutorials/install-git) - [SSH de Git](https://www.atlassian.com/es/git/tutorials/git-ssh) - [Archivo Git](https://www.atlassian.com/es/git/tutorials/export-git-archive) - [GitOps](https://www.atlassian.com/es/git/tutorials/gitops) - [Chuleta de Git](https://www.atlassian.com/es/git/tutorials/atlassian-git-cheatsheet) - Inicio - Configuración de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository) - [git init](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-init) - [git clone](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-clone) - [git config](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-config) - [Alias de Git](https://www.atlassian.com/es/git/tutorials/git-alias) - Guardado de cambios (git add) - [Presentación](https://www.atlassian.com/es/git/tutorials/saving-changes) - [git commit](https://www.atlassian.com/es/git/tutorials/saving-changes/git-commit) - [git diff](https://www.atlassian.com/es/git/tutorials/saving-changes/git-diff) - [git stash](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) - [.gitignore](https://www.atlassian.com/es/git/tutorials/saving-changes/gitignore) - Examen de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository) - [git tag](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-tag) - [git blame](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-blame) - Deshacer cambios - [Presentación](https://www.atlassian.com/es/git/tutorials/undoing-changes) - [git clean](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-clean) - [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) - [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset) - [git rm](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-rm) - Reescritura del historial - [Presentación](https://www.atlassian.com/es/git/tutorials/rewriting-history) - [git rebase](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-rebase) - [git reflog](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-reflog) - Flujos de trabajo colaborativos - Sincronización (git remote) - [Presentación](https://www.atlassian.com/es/git/tutorials/syncing) - [git fetch](https://www.atlassian.com/es/git/tutorials/syncing/git-fetch) - [git push](https://www.atlassian.com/es/git/tutorials/syncing/git-push) - [git pull](https://www.atlassian.com/es/git/tutorials/syncing/git-pull) - [Realizar una pull request](https://www.atlassian.com/es/git/tutorials/making-a-pull-request) - Uso de ramas (git branch) - [Presentación](https://www.atlassian.com/es/git/tutorials/using-branches) - [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) - [Git merge](https://www.atlassian.com/es/git/tutorials/using-branches/git-merge) - [Fusiona los conflictos](https://www.atlassian.com/es/git/tutorials/using-branches/merge-conflicts) - [Combinación de estrategias](https://www.atlassian.com/es/git/tutorials/using-branches/merge-strategy) - Comparar flujos de trabajo - [Presentación](https://www.atlassian.com/es/git/tutorials/comparing-workflows) - [Flujo de trabajo de rama de función](https://www.atlassian.com/es/git/tutorials/comparing-workflows/feature-branch-workflow) - [Flujo de trabajo de Gitflow](https://www.atlassian.com/es/git/tutorials/comparing-workflows/gitflow-workflow) - [Flujo de trabajo de bifurcación](https://www.atlassian.com/es/git/tutorials/comparing-workflows/forking-workflow) - Migración a Git - [De SVN a Git: prepárate para la migración](https://www.atlassian.com/es/git/tutorials/svn-to-git-prepping-your-team-migration) - Migración a Git desde SVN - [Presentación](https://www.atlassian.com/es/git/tutorials/migrating-overview) - [Preparar](https://www.atlassian.com/es/git/tutorials/migrating-prepare) - [Convertir](https://www.atlassian.com/es/git/tutorials/migrating-convert) - [Sincronizar](https://www.atlassian.com/es/git/tutorials/migrating-synchronize) - [Compartir](https://www.atlassian.com/es/git/tutorials/migrating-share) - [Migración](https://www.atlassian.com/es/git/tutorials/migrating-migrate) - [De Perforce a Git: por qué dar el paso](https://www.atlassian.com/es/git/tutorials/perforce-git) - [Migración de Perforce a Git](https://www.atlassian.com/es/git/tutorials/perforce-git-migration) - [Trabajar con Git y Perforce: flujo de trabajo de integración](https://www.atlassian.com/es/git/tutorials/git-p4) - [Cómo mover un repositorio de Git con historial](https://www.atlassian.com/es/git/tutorials/git-move-repository) - Consejos avanzados - [Presentación](https://www.atlassian.com/es/git/tutorials/advanced-overview) - [La fusión frente a la reorganización](https://www.atlassian.com/es/git/tutorials/merging-vs-rebasing) - [Restablecimiento, extracción y reversión](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Git log avanzado](https://www.atlassian.com/es/git/tutorials/git-log) - [Hooks de Git](https://www.atlassian.com/es/git/tutorials/git-hooks) - [Referencias y registro de referencias](https://www.atlassian.com/es/git/tutorials/refs-and-the-reflog) - [Submódulos de Git](https://www.atlassian.com/es/git/tutorials/git-submodule) - [Subárbol de Git](https://www.atlassian.com/es/git/tutorials/git-subtree) - [Grandes repositorios en Git](https://www.atlassian.com/es/git/tutorials/big-repositories) - [Git LFS](https://www.atlassian.com/es/git/tutorials/git-lfs) - [Git gc](https://www.atlassian.com/es/git/tutorials/git-gc) - [Git prune](https://www.atlassian.com/es/git/tutorials/git-prune) - [Git bash](https://www.atlassian.com/es/git/tutorials/git-bash) - [Cómo almacenar archivos ocultos](https://www.atlassian.com/es/git/tutorials/dotfiles) - [Git Cherry Pick](https://www.atlassian.com/es/git/tutorials/cherry-pick) - [GitK](https://www.atlassian.com/es/git/tutorials/gitk) - [Git-show](https://www.atlassian.com/es/git/tutorials/git-show) - Artículos - [Lidiar con las dependencias de Maven al cambiar a Git (en inglés)](https://www.atlassian.com/es/git/articles/maven-dependencies-versions-merging) - [Dominio de las solicitudes de incorporación de cambios: ¡descubre las capacidades de recuperación! (en inglés)](https://www.atlassian.com/es/git/articles/pull-request-proficiency-fetching-abilities-unlocked) - [Git y dependencias de proyectos](https://www.atlassian.com/es/git/articles/git-and-project-dependencies) - [¿Git o SVN? Nuance Healthcare se decantó por un modelo de creación de ramas de Git](https://www.atlassian.com/es/git/articles/git-or-svn-git-branching-model) - [Bifurcaciones y repositorios upstream: instrucciones y consejo interesante (en inglés)](https://www.atlassian.com/es/git/tutorials/git-forks-and-upstreams) - [Conceptos básicos, flujos de trabajo y consejos](https://www.atlassian.com/es/git/articles/core-concept-workflows-and-tips) Temas sobre Git - Aprende Git - [Comandos de Git](https://www.atlassian.com/es/git/glossary) - [Aprende a usar Git con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-git-with-bitbucket-cloud) - [Obtén información sobre la revisión del código en Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-about-code-review-in-bitbucket-cloud) - [Aprende sobre ramas con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-branching-with-bitbucket-cloud) - [Aprende sobre cómo deshacer cambios con Bitbucket Cloud](https://www.atlassian.com/es/git/tutorials/learn-undoing-changes-with-bitbucket) - Principiante - [Qué es el control de versiones](https://www.atlassian.com/es/git/tutorials/what-is-version-control) - [Gestión del código fuente](https://www.atlassian.com/es/git/tutorials/source-code-management) - [Qué es Git](https://www.atlassian.com/es/git/tutorials/what-is-git) - [Por qué utilizar Git en tu organización](https://www.atlassian.com/es/git/tutorials/why-git) - [Instalar Git](https://www.atlassian.com/es/git/tutorials/install-git) - [SSH de Git](https://www.atlassian.com/es/git/tutorials/git-ssh) - [Archivo Git](https://www.atlassian.com/es/git/tutorials/export-git-archive) - [GitOps](https://www.atlassian.com/es/git/tutorials/gitops) - [Chuleta de Git](https://www.atlassian.com/es/git/tutorials/atlassian-git-cheatsheet) - Inicio - Configuración de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository) - [git init](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-init) - [git clone](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-clone) - [git config](https://www.atlassian.com/es/git/tutorials/setting-up-a-repository/git-config) - [Alias de Git](https://www.atlassian.com/es/git/tutorials/git-alias) - Guardado de cambios (git add) - [Presentación](https://www.atlassian.com/es/git/tutorials/saving-changes) - [git commit](https://www.atlassian.com/es/git/tutorials/saving-changes/git-commit) - [git diff](https://www.atlassian.com/es/git/tutorials/saving-changes/git-diff) - [git stash](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) - [.gitignore](https://www.atlassian.com/es/git/tutorials/saving-changes/gitignore) - Examen de un repositorio - [Presentación](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository) - [git tag](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-tag) - [git blame](https://www.atlassian.com/es/git/tutorials/inspecting-a-repository/git-blame) - Deshacer cambios - [Presentación](https://www.atlassian.com/es/git/tutorials/undoing-changes) - [git clean](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-clean) - [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) - [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset) - [git rm](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-rm) - Reescritura del historial - [Presentación](https://www.atlassian.com/es/git/tutorials/rewriting-history) - [git rebase](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-rebase) - [git reflog](https://www.atlassian.com/es/git/tutorials/rewriting-history/git-reflog) - Flujos de trabajo colaborativos - Sincronización (git remote) - [Presentación](https://www.atlassian.com/es/git/tutorials/syncing) - [git fetch](https://www.atlassian.com/es/git/tutorials/syncing/git-fetch) - [git push](https://www.atlassian.com/es/git/tutorials/syncing/git-push) - [git pull](https://www.atlassian.com/es/git/tutorials/syncing/git-pull) - [Realizar una pull request](https://www.atlassian.com/es/git/tutorials/making-a-pull-request) - Uso de ramas (git branch) - [Presentación](https://www.atlassian.com/es/git/tutorials/using-branches) - [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) - [Git merge](https://www.atlassian.com/es/git/tutorials/using-branches/git-merge) - [Fusiona los conflictos](https://www.atlassian.com/es/git/tutorials/using-branches/merge-conflicts) - [Combinación de estrategias](https://www.atlassian.com/es/git/tutorials/using-branches/merge-strategy) - Comparar flujos de trabajo - [Presentación](https://www.atlassian.com/es/git/tutorials/comparing-workflows) - [Flujo de trabajo de rama de función](https://www.atlassian.com/es/git/tutorials/comparing-workflows/feature-branch-workflow) - [Flujo de trabajo de Gitflow](https://www.atlassian.com/es/git/tutorials/comparing-workflows/gitflow-workflow) - [Flujo de trabajo de bifurcación](https://www.atlassian.com/es/git/tutorials/comparing-workflows/forking-workflow) - Migración a Git - [De SVN a Git: prepárate para la migración](https://www.atlassian.com/es/git/tutorials/svn-to-git-prepping-your-team-migration) - Migración a Git desde SVN - [Presentación](https://www.atlassian.com/es/git/tutorials/migrating-overview) - [Preparar](https://www.atlassian.com/es/git/tutorials/migrating-prepare) - [Convertir](https://www.atlassian.com/es/git/tutorials/migrating-convert) - [Sincronizar](https://www.atlassian.com/es/git/tutorials/migrating-synchronize) - [Compartir](https://www.atlassian.com/es/git/tutorials/migrating-share) - [Migración](https://www.atlassian.com/es/git/tutorials/migrating-migrate) - [De Perforce a Git: por qué dar el paso](https://www.atlassian.com/es/git/tutorials/perforce-git) - [Migración de Perforce a Git](https://www.atlassian.com/es/git/tutorials/perforce-git-migration) - [Trabajar con Git y Perforce: flujo de trabajo de integración](https://www.atlassian.com/es/git/tutorials/git-p4) - [Cómo mover un repositorio de Git con historial](https://www.atlassian.com/es/git/tutorials/git-move-repository) - Consejos avanzados - [Presentación](https://www.atlassian.com/es/git/tutorials/advanced-overview) - [La fusión frente a la reorganización](https://www.atlassian.com/es/git/tutorials/merging-vs-rebasing) - [Restablecimiento, extracción y reversión](https://www.atlassian.com/es/git/tutorials/resetting-checking-out-and-reverting) - [Git log avanzado](https://www.atlassian.com/es/git/tutorials/git-log) - [Hooks de Git](https://www.atlassian.com/es/git/tutorials/git-hooks) - [Referencias y registro de referencias](https://www.atlassian.com/es/git/tutorials/refs-and-the-reflog) - [Submódulos de Git](https://www.atlassian.com/es/git/tutorials/git-submodule) - [Subárbol de Git](https://www.atlassian.com/es/git/tutorials/git-subtree) - [Grandes repositorios en Git](https://www.atlassian.com/es/git/tutorials/big-repositories) - [Git LFS](https://www.atlassian.com/es/git/tutorials/git-lfs) - [Git gc](https://www.atlassian.com/es/git/tutorials/git-gc) - [Git prune](https://www.atlassian.com/es/git/tutorials/git-prune) - [Git bash](https://www.atlassian.com/es/git/tutorials/git-bash) - [Cómo almacenar archivos ocultos](https://www.atlassian.com/es/git/tutorials/dotfiles) - [Git Cherry Pick](https://www.atlassian.com/es/git/tutorials/cherry-pick) - [GitK](https://www.atlassian.com/es/git/tutorials/gitk) - [Git-show](https://www.atlassian.com/es/git/tutorials/git-show) - Artículos - [Lidiar con las dependencias de Maven al cambiar a Git (en inglés)](https://www.atlassian.com/es/git/articles/maven-dependencies-versions-merging) - [Dominio de las solicitudes de incorporación de cambios: ¡descubre las capacidades de recuperación! (en inglés)](https://www.atlassian.com/es/git/articles/pull-request-proficiency-fetching-abilities-unlocked) - [Git y dependencias de proyectos](https://www.atlassian.com/es/git/articles/git-and-project-dependencies) - [¿Git o SVN? Nuance Healthcare se decantó por un modelo de creación de ramas de Git](https://www.atlassian.com/es/git/articles/git-or-svn-git-branching-model) - [Bifurcaciones y repositorios upstream: instrucciones y consejo interesante (en inglés)](https://www.atlassian.com/es/git/tutorials/git-forks-and-upstreams) - [Conceptos básicos, flujos de trabajo y consejos](https://www.atlassian.com/es/git/articles/core-concept-workflows-and-tips) # Restablecimiento, extracción y reversión Los comandos [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset), [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) y [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) son algunas de las herramientas más útiles de tu caja de herramientas de Git. Todos te permiten deshacer algún tipo de cambio en tu repositorio, y los dos primeros comandos se pueden usar para manipular confirmaciones o archivos individuales. Como son muy similares, es muy fácil confundir qué comando se debe usar en una situación de desarrollo determinada. En este artículo, compararemos las configuraciones más comunes de `git reset`, `git checkout` y `git revert`. Espero que puedas marcharte con la seguridad necesaria para navegar por tu repositorio con cualquiera de estos comandos. ![Los tres árboles de Git](https://dam-cdn.atl.orangelogic.com/AssetLink/i327n6ab7j85lkncarksjdkjpu6vsw4l.svg) Es útil pensar en cada comando según el efecto que tiene en los tres mecanismos de gestión del estado de un repositorio de Git: el directorio de trabajo, la instantánea preparada y el historial de confirmaciones. Estos componentes se conocen a veces como "los tres árboles" de Git. Exploramos los tres árboles en profundidad en la página de [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset). Ten en cuenta los mecanismos al leer este artículo. Una extracción es una operación que mueve el puntero de referencia `HEAD` a una confirmación especificada. Para hacer una demostración, vamos a analizar el siguiente ejemplo: ![4 nodos en los que el nodo main es el último](https://dam-cdn.atl.orangelogic.com/AssetLink/q20k742yfq646i283f4x6rrk16iddpe5.png) En este ejemplo se muestra una secuencia de confirmaciones en la rama `main`. La referencia `HEAD` y la referencia de la rama `main` en estos momentos apuntan a la confirmación d. Ahora vamos a ejecutar `git checkout b` ![4 nodos con el main apuntando al último y HEAD apuntando al segundo nodo](https://dam-cdn.atl.orangelogic.com/AssetLink/0g7p8ct5r76ko7b642t6ug4654i0315j.png) Esta es una actualización del árbol "Historial de confirmaciones". El comando `git checkout` se puede usar en un alcance de confirmación o de nivel de archivo. Una extracción de nivel de archivo cambiará el contenido del archivo por el de la confirmación específica. Una reversión es una operación que toma una confirmación especificada y crea una nueva confirmación que invierte dicha confirmación especificada. `git revert` solo se puede ejecutar en un alcance de nivel de confirmación y no tiene funcionalidad de nivel de archivo. El restablecimiento es una operación que toma una confirmación especificada y restablece los" tres árboles" para que coincidan con el estado del repositorio en esa confirmación especificada. El restablecimiento se puede invocar de tres maneras diferentes que corresponden a los tres árboles. La extracción y el restablecimiento se utilizan generalmente para hacer operaciones de "deshacer" locales o privadas. Modifican el historial de un repositorio que puede provocar conflictos al ejecutar operaciones de envío a repositorios compartidos remotos. La reversión se considera una operación segura para "acciones de deshacer públicas", ya que crea un nuevo historial que se puede compartir de forma remota y no sobrescribe el historial del que pueden depender los miembros del equipo remoto. ## Referencia de git reset frente a revert y checkout En la siguiente tabla se resumen los casos de uso más comunes para todos estos comandos. Ten esta referencia a mano, ya que sin duda necesitarás usar al menos algunos de ellos durante tu trayectoria con Git. | Comando | Ámbito de aplicación | Casos de uso comunes | |---|---|---| | `git reset` | Nivel de confirmación | Descartar las confirmaciones en una rama privada o desechar los cambios no confirmados | | `git reset` | Nivel de archivo | Deshacer la preparación de un archivo | | `git checkout` | Nivel de confirmación | Cambiar entre ramas o inspeccionar instantáneas antiguas | | `git checkout` | Nivel de archivo | Descartar los cambios en el directorio de trabajo | | `git revert` | Nivel de confirmación | Deshacer confirmaciones en una rama pública | | `git revert` | Nivel de archivo | (N/D) | ## Operaciones de nivel de confirmación Los parámetros que pasas a `git reset` y `git checkout` determinan su alcance. Cuando no incluyes una ruta de archivo como parámetro, funcionan en confirmaciones completas. Eso es lo que exploraremos en esta sección. Ten en cuenta que `git revert` no tiene un equivalente de nivel de archivo. ### Restablecer una confirmación específica En el nivel de confirmación, el restablecimiento es una forma de mover la punta de una rama a una confirmación diferente. Se puede usar para eliminar confirmaciones de la rama actual. Por ejemplo, el siguiente comando mueve la rama de `revisión` hacia atrás mediante dos confirmaciones. ``` 1git checkout hotfix git reset HEAD~2 ``` Las dos confirmaciones que estaban al final de la `revisión` ahora son confirmaciones suspendidas o huérfanas. Esto significa que se eliminarán la próxima vez que Git realice una recolección de basura. En otras palabras, estás diciendo que quieres desecharlas. Esto se puede visualizar de la siguiente manera: ![Restablecimiento de la rama de corrección en HEAD-2](https://dam-cdn.atl.orangelogic.com/AssetLink/42y6ur245172f118hor8hyxk68ttntb3.png) Este uso de `git reset` es una forma sencilla de deshacer los cambios que no se han compartido con nadie más. Es el comando preferido si has empezado a trabajar en una función y de repente piensas: "¡Madre mía!, ¿qué estoy haciendo? Debería empezar de nuevo". Además de mover la rama actual, también puedes hacer que `git reset` modifique la instantánea preparada o el directorio de trabajo pasándole una de las siguientes marcas: - `—--soft`: la instantánea preparada y el directorio de trabajo no se modifican de ninguna manera. - `—mixed`: la instantánea preparada se actualiza para que coincida con la confirmación especificada, pero el directorio de trabajo no se ve afectado. Esta es la opción predeterminada. - `--hard`: la instantánea preparada y el directorio de trabajo se actualizan para que coincidan con la confirmación especificada. Es más fácil pensar en estos modos como la definición del alcance de una operación de `git reset`. Para obtener información más detallada, visita la página de [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset). ### Extraer confirmaciones anteriores El comando `git checkout` se usa para actualizar el estado del repositorio a un punto específico del historial de proyectos. Cuando se transmite con un nombre de rama, permite cambiar entre ramas. ``` 1git checkout hotfix ``` Internamente, todo lo que hace el comando anterior es mover `HEAD` a una rama diferente y actualizar el directorio de trabajo para que coincida. Como esto tiene el potencial de sobrescribir los cambios locales, Git te obliga a confirmar o [guardar](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) cualquier cambio en el directorio de trabajo que se perderá durante la operación de extracción. A diferencia de `git reset``, git checkout` no mueve ninguna rama. ![Mover HEAD de la rama main a la de corrección](https://dam-cdn.atl.orangelogic.com/AssetLink/5025uu83tl6p0032l5i525q5c72736p0.png) También puedes extraer las confirmaciones arbitrarias pasando la referencia de confirmación en lugar de una rama. Esta operación hace exactamente lo mismo que cuando se extrae una rama: mueve la referencia `HEAD` a la confirmación especificada. Por ejemplo, el siguiente comando extraerá el elemento principal de la confirmación actual: ``` 1git checkout HEAD~2 ``` ![Mover "HEAD" a una confirmación arbitraria](https://dam-cdn.atl.orangelogic.com/AssetLink/5e1l038ot14xi8ak55s7pn3wghla06f5.svg) Esto resulta útil para inspeccionar rápidamente una versión anterior del proyecto. Sin embargo, dado que no hay una referencia de rama al `HEAD` actual, esto te pone en un estado `HEAD` separado. Esto puede ser peligroso si empiezas a añadir nuevas confirmaciones, porque no habrá forma de volver a ellas después de cambiar a otra rama. Por esta razón, siempre debes crear una nueva rama antes de agregar confirmaciones a un `HEAD` separado. ### Deshacer confirmaciones públicas con la reversión La reversión deshace una confirmación creando una nueva confirmación. Esta es una forma segura de deshacer los cambios, ya que no hay posibilidad de que se sobrescriba el historial de confirmaciones. Por ejemplo, el siguiente comando determinará los cambios incluidos en la penúltima confirmación, creará una nueva confirmación para deshacerlos y añadirá la nueva confirmación al proyecto existente. ``` 1git checkout hotfix git revert HEAD~2 ``` Esto se puede visualizar de la siguiente manera: ![Revertir la penúltima confirmación](https://dam-cdn.atl.orangelogic.com/AssetLink/21n8lc7l8s817wqs3dw21050rpsvhbf8.svg) Contrasta esto con `git reset`, que *modifica* el historial de confirmaciones existente. Por este motivo, `git revert` se debe usar para deshacer los cambios en una rama pública, mientras que `git reset` se debe reservar para deshacer los cambios en una rama privada. También puedes pensar en `git revert` como una herramienta para deshacer cambios *confirmados*, mientras que `git reset HEAD` es para deshacer cambios *no confirmados*. Al igual que `git checkout`, `git revert` tiene el potencial de sobrescribir archivos en el directorio de trabajo, por lo que te pedirá que confirmes o [guardes los cambios](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) que se perderían durante la operación de reversión. ## Operaciones de nivel de archivo Los comandos `git reset` y `git checkout` también aceptan una ruta de archivo opcional como parámetro. Esto modifica considerablemente su comportamiento. En lugar de operar en instantáneas completas, esto los obliga a limitar sus operaciones a un solo archivo. ### Ejecutar git reset en un archivo específico Cuando se invoca con una ruta de archivo, `git reset` actualiza la *instantánea preparada* para que coincida con la versión de la confirmación especificada. Por ejemplo, este comando buscará la versión de `foo.py` en la penúltima confirmación y la preparará para la próxima confirmación: ``` 1git reset HEAD~2 foo.py ``` Al igual que con la versión de `git reset` de nivel de confirmación, este se usa más habitualmente con `HEAD` en lugar de con una confirmación arbitraria. La ejecución de `git reset HEAD foo.py` deshará la preparación de `foo.py`. Los cambios que contiene seguirán presentes en el directorio de trabajo. ![Mover un archivo del historial de confirmaciones a la instantánea preparada](https://dam-cdn.atl.orangelogic.com/AssetLink/06m01u58ak1j203u3g6x4753toxg07r1.svg) Las marcas `--soft`, `--mixed` y `--hard` no tienen ningún efecto en la versión de nivel de archivo de `git reset`, ya que la instantánea preparada *siempre* se actualiza y el directorio de trabajo no lo hace *nunca*. ### Ejecutar git checkout en un archivo Extraer un archivo es similar a usar `git reset` con una ruta de archivo, salvo que se actualiza el *directorio de trabajo* en lugar del entorno de ensayo. A diferencia de la versión de nivel de confirmación de este comando, este no mueve la referencia `HEAD`, lo que significa que no cambiarás de rama. ![Mover un archivo del historial de confirmaciones al directorio de trabajo](https://dam-cdn.atl.orangelogic.com/AssetLink/j77yi336821qsf1gb3w22p51arjfxi2a.svg) Por ejemplo, el siguiente comando hace que `foo.py` en el directorio de trabajo coincida con el de la penúltima confirmación: ``` 1git checkout HEAD~2 foo.py ``` Al igual que la invocación de nivel de confirmación de `git checkout`, se puede usar para inspeccionar versiones anteriores de un proyecto, pero el alcance se limita al archivo especificado. Si preparas y confirmas el archivo extraído, la operación tiene el efecto de "revertir" a la versión anterior de ese archivo. Ten en cuenta que esto elimina *todos* los cambios posteriores en el archivo, mientras que el comando `git revert` deshace solo los cambios introducidos por la confirmación especificada. Al igual que `git reset`, esto se usa habitualmente con `HEAD` como referencia de confirmación. Por ejemplo, `git checkout HEAD foo.py` tiene el efecto de descartar los cambios no preparados en `foo.py`. Este es un comportamiento similar al de `git reset HEAD --hard`, pero solo actúa en el archivo especificado. ## Resumen Ahora deberías tener todas las herramientas que se pueden necesitar para deshacer los cambios en un repositorio de Git. Los comandos [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset), [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) y [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) pueden resultar confusos, pero si piensas en los efectos que tienen en el directorio de trabajo, la instantánea preparada y el historial de confirmaciones, debería ser más fácil diferenciar qué comando se ajusta a la tarea de desarrollo en cuestión. ## Recomendado para ti ### Blog de Bitbucket [Más información](https://www.atlassian.com/blog/bitbucket) ### Ruta de aprendizaje de DevOps [Más información](https://university.atlassian.com/student/activity/2483065-hello-and-welcome) ### Más información sobre Git Encuentra más guías y recursos de Git en este centro. [Lee más](https://www.atlassian.com/es/git) - [Compañía](https://www.atlassian.com/es/company) - [Oportunidades profesionales](https://www.atlassian.com/es/company/careers) - [Eventos](https://www.atlassian.com/es/company/events) - [Blogs](https://www.atlassian.com/es/blog) - [Relaciones con los inversores](https://investors.atlassian.com/) - [Atlassian Foundation](https://www.atlassianfoundation.org/) - [Kit de prensa](https://www.atlassian.com/es/company/news/press-kit) - [Contacto](https://www.atlassian.com/es/company/contact) ## Productos - [Rovo](https://www.atlassian.com/es/rovo) - [Jira](https://www.atlassian.com/es/software/jira) - [Jira Align](https://www.atlassian.com/es/software/jira/align) - [Jira Service Management](https://www.atlassian.com/es/software/jira/service-management) - [Confluence](https://www.atlassian.com/es/software/confluence) - [Loom](https://www.atlassian.com/es/software/loom) - [Trello](https://trello.com/es/home) - [Bitbucket](https://www.atlassian.com/es/software/bitbucket) - [Ver todos los productos](https://www.atlassian.com/es/software) ## Recursos - [Servicio técnico](https://support.atlassian.com/) - [Compras y licencias](https://www.atlassian.com/es/licensing/purchase-licensing) - [Comunidad de Atlassian](https://community.atlassian.com/) - [Base de conocimientos](https://confluence.atlassian.com/kb) - [Marketplace](https://marketplace.atlassian.com/) - [Mi cuenta](https://my.atlassian.com/products/index) - [Crear ticket de asistencia](https://support.atlassian.com/contact/) ## Tutorial - [Partners](https://www.atlassian.com/es/partners) - [Formación y certificación](https://www.atlassian.com/es/university) - [Documentación](https://confluence.atlassian.com/display/ALLDOC/Atlassian+Documentation) - [Recursos para desarrolladores](https://www.atlassian.com/es/developers) - [Servicios empresariales](https://www.atlassian.com/es/enterprise/services) - [Ver todos los recursos](https://www.atlassian.com/es/resources) Copyright © 2026 Atlassian - [Política de privacidad](https://www.atlassian.com/es/legal/privacy-policy) - [Aviso de recopilación de datos](https://www.atlassian.com/legal/privacy-policy#additional-disclosures-for-ca-residents) - [Términos](https://www.atlassian.com/es/legal/cloud-terms-of-service) - [Aviso legal](https://www.atlassian.com/es/legal/impressum) Español▾
Readable Markdown
Los comandos [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset), [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) y [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) son algunas de las herramientas más útiles de tu caja de herramientas de Git. Todos te permiten deshacer algún tipo de cambio en tu repositorio, y los dos primeros comandos se pueden usar para manipular confirmaciones o archivos individuales. Como son muy similares, es muy fácil confundir qué comando se debe usar en una situación de desarrollo determinada. En este artículo, compararemos las configuraciones más comunes de `git reset`, `git checkout` y `git revert`. Espero que puedas marcharte con la seguridad necesaria para navegar por tu repositorio con cualquiera de estos comandos. ![Los tres árboles de Git](https://dam-cdn.atl.orangelogic.com/AssetLink/i327n6ab7j85lkncarksjdkjpu6vsw4l.svg) Es útil pensar en cada comando según el efecto que tiene en los tres mecanismos de gestión del estado de un repositorio de Git: el directorio de trabajo, la instantánea preparada y el historial de confirmaciones. Estos componentes se conocen a veces como "los tres árboles" de Git. Exploramos los tres árboles en profundidad en la página de [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset). Ten en cuenta los mecanismos al leer este artículo. Una extracción es una operación que mueve el puntero de referencia `HEAD` a una confirmación especificada. Para hacer una demostración, vamos a analizar el siguiente ejemplo: ![4 nodos en los que el nodo main es el último](https://dam-cdn.atl.orangelogic.com/AssetLink/q20k742yfq646i283f4x6rrk16iddpe5.png) En este ejemplo se muestra una secuencia de confirmaciones en la rama `main`. La referencia `HEAD` y la referencia de la rama `main` en estos momentos apuntan a la confirmación d. Ahora vamos a ejecutar `git checkout b` ![4 nodos con el main apuntando al último y HEAD apuntando al segundo nodo](https://dam-cdn.atl.orangelogic.com/AssetLink/0g7p8ct5r76ko7b642t6ug4654i0315j.png) Esta es una actualización del árbol "Historial de confirmaciones". El comando `git checkout` se puede usar en un alcance de confirmación o de nivel de archivo. Una extracción de nivel de archivo cambiará el contenido del archivo por el de la confirmación específica. Una reversión es una operación que toma una confirmación especificada y crea una nueva confirmación que invierte dicha confirmación especificada. `git revert` solo se puede ejecutar en un alcance de nivel de confirmación y no tiene funcionalidad de nivel de archivo. El restablecimiento es una operación que toma una confirmación especificada y restablece los" tres árboles" para que coincidan con el estado del repositorio en esa confirmación especificada. El restablecimiento se puede invocar de tres maneras diferentes que corresponden a los tres árboles. La extracción y el restablecimiento se utilizan generalmente para hacer operaciones de "deshacer" locales o privadas. Modifican el historial de un repositorio que puede provocar conflictos al ejecutar operaciones de envío a repositorios compartidos remotos. La reversión se considera una operación segura para "acciones de deshacer públicas", ya que crea un nuevo historial que se puede compartir de forma remota y no sobrescribe el historial del que pueden depender los miembros del equipo remoto. Referencia de git reset frente a revert y checkout En la siguiente tabla se resumen los casos de uso más comunes para todos estos comandos. Ten esta referencia a mano, ya que sin duda necesitarás usar al menos algunos de ellos durante tu trayectoria con Git. | Comando | Ámbito de aplicación | Casos de uso comunes | |---|---|---| | `git reset` | Nivel de confirmación | Descartar las confirmaciones en una rama privada o desechar los cambios no confirmados | | `git reset` | Nivel de archivo | Deshacer la preparación de un archivo | | `git checkout` | Nivel de confirmación | Cambiar entre ramas o inspeccionar instantáneas antiguas | | `git checkout` | Nivel de archivo | Descartar los cambios en el directorio de trabajo | | `git revert` | Nivel de confirmación | Deshacer confirmaciones en una rama pública | | `git revert` | Nivel de archivo | (N/D) | Operaciones de nivel de confirmación Los parámetros que pasas a `git reset` y `git checkout` determinan su alcance. Cuando no incluyes una ruta de archivo como parámetro, funcionan en confirmaciones completas. Eso es lo que exploraremos en esta sección. Ten en cuenta que `git revert` no tiene un equivalente de nivel de archivo. Restablecer una confirmación específica En el nivel de confirmación, el restablecimiento es una forma de mover la punta de una rama a una confirmación diferente. Se puede usar para eliminar confirmaciones de la rama actual. Por ejemplo, el siguiente comando mueve la rama de `revisión` hacia atrás mediante dos confirmaciones. ``` git checkout hotfix git reset HEAD~2 ``` Las dos confirmaciones que estaban al final de la `revisión` ahora son confirmaciones suspendidas o huérfanas. Esto significa que se eliminarán la próxima vez que Git realice una recolección de basura. En otras palabras, estás diciendo que quieres desecharlas. Esto se puede visualizar de la siguiente manera: ![Restablecimiento de la rama de corrección en HEAD-2](https://dam-cdn.atl.orangelogic.com/AssetLink/42y6ur245172f118hor8hyxk68ttntb3.png) Este uso de `git reset` es una forma sencilla de deshacer los cambios que no se han compartido con nadie más. Es el comando preferido si has empezado a trabajar en una función y de repente piensas: "¡Madre mía!, ¿qué estoy haciendo? Debería empezar de nuevo". Además de mover la rama actual, también puedes hacer que `git reset` modifique la instantánea preparada o el directorio de trabajo pasándole una de las siguientes marcas: - `—--soft`: la instantánea preparada y el directorio de trabajo no se modifican de ninguna manera. - `—mixed`: la instantánea preparada se actualiza para que coincida con la confirmación especificada, pero el directorio de trabajo no se ve afectado. Esta es la opción predeterminada. - `--hard`: la instantánea preparada y el directorio de trabajo se actualizan para que coincidan con la confirmación especificada. Es más fácil pensar en estos modos como la definición del alcance de una operación de `git reset`. Para obtener información más detallada, visita la página de [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset). Extraer confirmaciones anteriores El comando `git checkout` se usa para actualizar el estado del repositorio a un punto específico del historial de proyectos. Cuando se transmite con un nombre de rama, permite cambiar entre ramas. ``` git checkout hotfix ``` Internamente, todo lo que hace el comando anterior es mover `HEAD` a una rama diferente y actualizar el directorio de trabajo para que coincida. Como esto tiene el potencial de sobrescribir los cambios locales, Git te obliga a confirmar o [guardar](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) cualquier cambio en el directorio de trabajo que se perderá durante la operación de extracción. A diferencia de `git reset``, git checkout` no mueve ninguna rama. ![Mover HEAD de la rama main a la de corrección](https://dam-cdn.atl.orangelogic.com/AssetLink/5025uu83tl6p0032l5i525q5c72736p0.png) También puedes extraer las confirmaciones arbitrarias pasando la referencia de confirmación en lugar de una rama. Esta operación hace exactamente lo mismo que cuando se extrae una rama: mueve la referencia `HEAD` a la confirmación especificada. Por ejemplo, el siguiente comando extraerá el elemento principal de la confirmación actual: ``` git checkout HEAD~2 ``` ![Mover "HEAD" a una confirmación arbitraria](https://dam-cdn.atl.orangelogic.com/AssetLink/5e1l038ot14xi8ak55s7pn3wghla06f5.svg) Esto resulta útil para inspeccionar rápidamente una versión anterior del proyecto. Sin embargo, dado que no hay una referencia de rama al `HEAD` actual, esto te pone en un estado `HEAD` separado. Esto puede ser peligroso si empiezas a añadir nuevas confirmaciones, porque no habrá forma de volver a ellas después de cambiar a otra rama. Por esta razón, siempre debes crear una nueva rama antes de agregar confirmaciones a un `HEAD` separado. Deshacer confirmaciones públicas con la reversión La reversión deshace una confirmación creando una nueva confirmación. Esta es una forma segura de deshacer los cambios, ya que no hay posibilidad de que se sobrescriba el historial de confirmaciones. Por ejemplo, el siguiente comando determinará los cambios incluidos en la penúltima confirmación, creará una nueva confirmación para deshacerlos y añadirá la nueva confirmación al proyecto existente. ``` git checkout hotfix git revert HEAD~2 ``` Esto se puede visualizar de la siguiente manera: ![Revertir la penúltima confirmación](https://dam-cdn.atl.orangelogic.com/AssetLink/21n8lc7l8s817wqs3dw21050rpsvhbf8.svg) Contrasta esto con `git reset`, que *modifica* el historial de confirmaciones existente. Por este motivo, `git revert` se debe usar para deshacer los cambios en una rama pública, mientras que `git reset` se debe reservar para deshacer los cambios en una rama privada. También puedes pensar en `git revert` como una herramienta para deshacer cambios *confirmados*, mientras que `git reset HEAD` es para deshacer cambios *no confirmados*. Al igual que `git checkout`, `git revert` tiene el potencial de sobrescribir archivos en el directorio de trabajo, por lo que te pedirá que confirmes o [guardes los cambios](https://www.atlassian.com/es/git/tutorials/saving-changes/git-stash) que se perderían durante la operación de reversión. Operaciones de nivel de archivo Los comandos `git reset` y `git checkout` también aceptan una ruta de archivo opcional como parámetro. Esto modifica considerablemente su comportamiento. En lugar de operar en instantáneas completas, esto los obliga a limitar sus operaciones a un solo archivo. Ejecutar git reset en un archivo específico Cuando se invoca con una ruta de archivo, `git reset` actualiza la *instantánea preparada* para que coincida con la versión de la confirmación especificada. Por ejemplo, este comando buscará la versión de `foo.py` en la penúltima confirmación y la preparará para la próxima confirmación: ``` git reset HEAD~2 foo.py ``` Al igual que con la versión de `git reset` de nivel de confirmación, este se usa más habitualmente con `HEAD` en lugar de con una confirmación arbitraria. La ejecución de `git reset HEAD foo.py` deshará la preparación de `foo.py`. Los cambios que contiene seguirán presentes en el directorio de trabajo. ![Mover un archivo del historial de confirmaciones a la instantánea preparada](https://dam-cdn.atl.orangelogic.com/AssetLink/06m01u58ak1j203u3g6x4753toxg07r1.svg) Las marcas `--soft`, `--mixed` y `--hard` no tienen ningún efecto en la versión de nivel de archivo de `git reset`, ya que la instantánea preparada *siempre* se actualiza y el directorio de trabajo no lo hace *nunca*. Ejecutar git checkout en un archivo Extraer un archivo es similar a usar `git reset` con una ruta de archivo, salvo que se actualiza el *directorio de trabajo* en lugar del entorno de ensayo. A diferencia de la versión de nivel de confirmación de este comando, este no mueve la referencia `HEAD`, lo que significa que no cambiarás de rama. ![Mover un archivo del historial de confirmaciones al directorio de trabajo](https://dam-cdn.atl.orangelogic.com/AssetLink/j77yi336821qsf1gb3w22p51arjfxi2a.svg) Por ejemplo, el siguiente comando hace que `foo.py` en el directorio de trabajo coincida con el de la penúltima confirmación: ``` git checkout HEAD~2 foo.py ``` Al igual que la invocación de nivel de confirmación de `git checkout`, se puede usar para inspeccionar versiones anteriores de un proyecto, pero el alcance se limita al archivo especificado. Si preparas y confirmas el archivo extraído, la operación tiene el efecto de "revertir" a la versión anterior de ese archivo. Ten en cuenta que esto elimina *todos* los cambios posteriores en el archivo, mientras que el comando `git revert` deshace solo los cambios introducidos por la confirmación especificada. Al igual que `git reset`, esto se usa habitualmente con `HEAD` como referencia de confirmación. Por ejemplo, `git checkout HEAD foo.py` tiene el efecto de descartar los cambios no preparados en `foo.py`. Este es un comportamiento similar al de `git reset HEAD --hard`, pero solo actúa en el archivo especificado. Resumen Ahora deberías tener todas las herramientas que se pueden necesitar para deshacer los cambios en un repositorio de Git. Los comandos [git reset](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-reset), [git checkout](https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout) y [git revert](https://www.atlassian.com/es/git/tutorials/undoing-changes/git-revert) pueden resultar confusos, pero si piensas en los efectos que tienen en el directorio de trabajo, la instantánea preparada y el historial de confirmaciones, debería ser más fácil diferenciar qué comando se ajusta a la tarea de desarrollo en cuestión.
Shard44 (laksa)
Root Hash11161217235333269644
Unparsed URLcom,atlassian!www,/es/git/tutorials/resetting-checking-out-and-reverting s443