Blog Nube Colectiva

Como Deshacer Commits en Git (Forma Local y Remota) – Parte 1

En la industria actual hay muchos desarrolladores y equipos de trabajo que suelen usar Git y GitHub para gestionar los repositorios de sus proyectos. Git es el sistema de control de versiones (VCS) más popular del mundo actualmente, nos permite hacer un seguimiento de los cambios de archivos basados en texto. Pero a veces como seres humanos podemos cometer errores a la hora de subir cambios a GitHub, en este Post te enseñare como deshacer estos cambios o commits antes de ser enviados, vamos con ello.

Partes

Antes de continuar, te invito a leer los siguientes artículos para que estés familiarizado con este tutorial:

Asimismo te invito a escuchar el Podcast: “5 Consejos para ser un Programador más Productivo” (No son los clásicos consejos técnicos de programación, si no de rutinas y buenos hábitos cotidianos):

Spotify: Sound Cloud: Apple Podcasts

Bien ahora continuemos con el Post: Como Deshacer Commits en Git (Forma Local y Remota) – Parte 1. 

Para este Post haré uso de este repositorio el cual pertenece al tutorial llamado Como Crear un Reloj Digital (Numérico) con JavaScript.

Como Crear un Reloj Digital (Numérico) con JavaScript

Bueno ahora pasemos a realizar operaciones en el repositorio.

Deshaciendo Commits

Los commits de Git más fáciles de deshacer son los que aún no han sido enviando a un repositorio remoto como GitHub, Bitbucket, etc. Como usuario propietario, eres libre de hacer cualquier cosa en tu repositorio local. Pero cuando se trata de editar un historial de commits que se envían a  un repositorio remoto, que por cierto pueden ser usados públicamente una ves que se encuentran en línea.

Esto significa que estamos poniendo en peligro el trabajo de otros desarrolladores al destruir el historia de git que ya está en uso. Por ello vamos a ver casos de como deshacer commits local y remotamente. En esta primera parte vamos a ver casos de manera local.

Deshaciendo Localmente Commits para evitar Archivos no deseados

Supongamos que estoy a punto de realizar un commit en mi repositorio local, haciendo uso del comando git add . o git add –all los cuales agregan todos los cambios de archivo al área de preparación en el repositorio. A veces podemos olvidar que algunos archivos no están relacionados con ese commit y no deberíamos de incluirlos.

Por suerte no es demasiado tarde, ya que podemos hacer uso del comando git reset agregando el nombredelarchivo que no queremos incluir. Por ejemplo si en mi repositorio local en la PC tengo un archivo llamado test.rar y ese archivo no forma parte del proyecto y no lo quiero incluir.

Puedo hacer los pasos correspondientes para subir cambios a mi repositorio remoto, pero luego de ejecutar el comando git add . debo de  escribir el comando git reset test.rar para no incluir ese archivo y luego continuar con los pasos respectivos para subir los cambios.

Como yo solo hice unos cambios en el archivo index.html del proyecto, si voy al repositorio remoto en GitHub, puedo ver que solo hubo cambios en ese archivo y el archivo test.rar no se subió.

Bien ahora pasemos a otro caso sobre los mensajes de confirmación mal escritos.

Deshaciendo Localmente Commits con Mensajes de confirmación mal escritos

Luego de hacer mi último commit en mi repositorio local, puede pasar que escribí mal una palabra en mi mensaje de confirmación o commit, por ejemplo escribí la palabra “Cabios” en lugar de la palabra “Cambios”, no es demasiado tarde ya que puedo usar el comando git commit con la flag o bandera –amend, es decir el comando quedaría así git commit –amend -m “Cambios”

Entonces si hago todos los pasos correspondientes para subir los cambios (suponiendo que hice cambios solamente en el archivo index.html) al repositorio remoto, puedo ver en GitHub que el texto o palabra Cambios aparece correctamente.

Ahora pasemos a ver otro caos referente a cambios al último commit

Deshaciendo Localmente Commits para Agregar cambios al último commit

Supongamos que tenemos un commit que aún no se ha enviado y nos damos cuenta que se necesitan hacer cambios adicionales. Para solucionar esto, primero debemos agregar los archivos modificados al área de preparación mediante el comando git add seguido del nombredelarchivo.

Por ejemplo tengo un archivo llamado test.txt el cual quiero agregar a mi commit a último momento

Antes de que el archivo test.txt fuese creado yo ejecute el primer comando que sirve para preparar los cambios, es decir el comando git add . y luego que agregue el archivo test.txt, entonces allí debo de ejecutar el comando git add test.txt para incluirlo en el commit.

Entonces si voy a mi repositorio remoto en GitHub, puedo ver que se ha incluido el archivo test.txt sin problemas.

Bueno hasta aquí terminamos con la primera parte de este Post en donde aprendimos a deshacer commits de manera local.

Ten Paciencia, lo que quiero es que conozcas bien como deshacer commits y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje. 

Nota (s)

  • En la siguiente parte y última, vamos a deshacer commits de repositorios remotos.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.

Salir de la versión móvil