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.
- Cambios por etapas
- Cambios no organizados
- Cambios sin seguimiento
- Cambios confirmados
- 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 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