Varios métodos utilizados para eliminar los cambios locales de Git

John Wachira 20 junio 2023
Varios métodos utilizados para eliminar los cambios locales de Git

Este artículo analiza los diversos métodos que podemos emplear para descartar cambios locales en Git. Veremos cómo puede eliminar los siguientes cambios locales suponiendo que hayamos clonado un repositorio.

  1. Cambios por etapas
  2. Cambios no organizados
  3. Cambios sin seguimiento
  4. Cambios confirmados
  5. Cambios confirmados y enviados

Varios métodos utilizados para eliminar los cambios locales de Git

Suponiendo que acabamos de clonar un repositorio de Git, hicimos algunos cambios en los archivos y preparamos los archivos para la confirmación, ¿cómo descartamos lo mismo?

Podemos descartar los cambios por etapas con el comando git reset con el indicador --hard. Ejecute el comando como se ilustra a continuación.

$ git reset --hard

En el siguiente escenario, hemos realizado cambios en algunos archivos de nuestro repositorio, pero aún no hemos preparado la confirmación. ¿Cómo descartamos estos cambios?

Tenemos dos opciones; podemos usar el comando git reset --hard o el comando git checkout <file>. Si está tratando con varios archivos, ejecute este último, como se muestra a continuación.

$ git checkout .

Esto le indicará a Git que restaure todos los archivos tal como estaban en su último estado comprometido, por lo tanto, descartará los cambios no preparados.

Tomemos otro escenario en el que hemos introducido nuevos archivos en el repositorio. Estos archivos se clasificarán como archivos sin seguimiento.

¿Cómo eliminamos estos archivos?

El comando git clean hace el trabajo. Así es como puede ejecutar el comando.

$ git clean -f

Los efectos de este comando no se pueden revertir. Es recomendable ejecutar el comando como un ensayo para ver qué se perderá.

Puede ejecutar el comando como se ilustra a continuación.

$ git clean -f -n

Puede agregar el indicador -d para eliminar directorios sin seguimiento.

Consejo de bonificación

Si no desea descartar los cambios pero los quiere fuera del índice, puede ocultarlos. Guardar en Git significa almacenar los cambios del índice de forma segura en otro lugar.

Cuando los necesite de vuelta, ejecute el comando git stash pop.

¿Qué pasa si ya hemos cometido algunos cambios y necesitamos eliminarlos?

En este punto, necesitaremos mover el puntero HEAD al nodo principal de la confirmación creada recientemente. Usaremos el comando git reset --hard, como se muestra a continuación.

$ git reset --hard HEAD~1

Esto eliminará los cambios introducidos por la confirmación en HEAD@{0}.

También puede ejecutar git reset --hard@{u} para descartar confirmaciones locales en una rama y hacerla idéntica a la rama de seguimiento ascendente.

Si ya ha confirmado los cambios, puede crear una confirmación que revierta los cambios introducidos en los archivos y los envíe al control remoto.

$ git revert <commit-hash>

Esto creará una nueva confirmación y puede enviarla al control remoto.

En pocas palabras, existen varios métodos que podemos emplear para eliminar los cambios locales de Git. Tenga cuidado al trabajar con repositorios públicos.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git Reset