Como revertir cambios en Git o regresar a una versión anterior

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 indice 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 indice 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 indice, 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 indice al correr el comando:

Donde config.php es el nombre del archivo que deseo sacar del indice 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 indice 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 ultimo cambio con este comando  git revert HEAD

El comando anterior va revertir el ultimo commit que hemos realizado, esto será solo en nuestra computadora, para subir este cambio al servidor debemos correr tambien el comando git push origin nombre_rama