Una de las ventajas de trabajar con un control de versiones como Git, es que tenemos a nuestra disposición todo el historial de cambios realizados a nuestra aplicación, eso significa que también podemos revertir los cambios e incluso regresar a una versión anterior en caso de ser necesario.
git reset HEAD nombre_archivo
En caso de que agregamos un archivo al índice de git y luego nos damos cuenta que este archivo no debe pasar, por ejemplo por que es un archivo de configuración o por que el cambio debe incluirse en una rama diferente, entonces podemos usar el comando git reset head
, seguido por el nombre del archivo que no deseemos incluir.
Por ejemplo en esta rama he modificado dos archivos, y ambos están en color rojo, eso significa que no están dentro del índice de git y no van a ser subidos al servidor.
Pero luego corro el comando git add .
y esto hace que ambos archivos se agreguen al índice, y entonces ambos archivos serán subidos al servidor cuando haga el próximo commit.
Si ahora me doy cuenta de que no deseo subir el archivo config.php, entonces puedo sacarlo del índice al correr el comando:
git reset HEAD config.php
Donde config.php
es el nombre del archivo que deseo sacar del índice y por lo tanto no subir sus cambios al servidor.
PD: Cuando corremos el comando git status los archivos que se muestran en verde están dentro del índice y se subirán al servidor en el próximo commit, pero los archivos que están en color rojo, no van a subir al servidor.
git revert HEAD
Ahora vamos a suponer que he modificado uno o más archivos por error y ya los subí al servidor, y estos cambios han hecho que la aplicación no funcione.
No hay por que preocuparse, podemos revertir el último cambio con este comando git revert HEAD
El comando anterior va a revertir el último commit que hemos realizado, esto será solo en nuestra computadora, para subir este cambio al servidor debemos correr también el comando git push origin nombre_rama