Pasar al contenido principal
Alexys Lozada
José Luján
Manuel Rodriguez
José Luján
Luis Avilés
Álvaro Felipe
José Luján
Beto Quiroga
Jonathan MirCha
Jonathan MirCha
Álvaro Felipe
Alexys Lozada, Álvaro Felipe, Jonathan MirCha
Beto Quiroga
Alexys Lozada
Alexys Lozada
José Luján
Álvaro Felipe
Álvaro Felipe
Jonathan MirCha
Jonathan MirCha
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Camilo Adobe
Álvaro Felipe
José Luján
Jonathan MirCha
Álvaro Felipe
Álvaro Felipe
Beto Quiroga, Alexys Lozada
Álvaro Felipe
Juan Villalvazo
Luis Avilés
Jonathan MirCha
Jonathan MirCha
Jonathan MirCha

Mis cambios malograron el proyecto, pero lo solucioné con Git

¿Alguna vez has estropeado un proyecto con tus cambios? Tranquilo, si usas Git puedes hacer "CTRL Z" y es muy sencillo. Y si no usas Git, deberías.

Mis cambios malograron el proyecto, pero lo solucioné con Git

Cuando estamos trabajando con git, creando X funcionalidad en una rama Y, podemos encontrarnos en una situación en la que queramos regresar al estado inicial, al punto en el que las cosas estaban funcionando bien antes de agregar cambios que resultaron perjudiciales para el proyecto.

Por ejemplo, tengo un proyecto en el que modifiqué mi archivo index.html y creé un nuevo archivo llamado chat.js y otro llamado chat.jsx dentro de la carpeta components. Al hacer un git status obtengo lo siguiente:

~/Desktop/proyecto  master ✗                                                               0m ⚑ ◒  
▶ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	chat.js
	components/chat.jsx

no changes added to commit (use "git add" and/or "git commit -a")

Supongamos entonces que los cambios que hice provocaron que el proyecto dejara de funcionar, por lo cual quiero devolver todo a como estaba antes.

Aprende Git Desde Cero en EDteam

Para resolver esta situación ejecutamos el comando git checkout . Esto "deshace" los cambios que hayamos hecho en los archivos a los que Git les está haciendo seguimiento (el punto indica que deshaga todos los cambios de todos los archivos, si quieres de un archivo especifico pones su ruta en lugar del punto):

~/Desktop/proyecto  master ✗                                                               0m ⚑ ◒  
▶ git checkout .

En nuestro ejemplo, sólo deshace los cambios que le haya hecho a index.html, no afecta a los archivos nuevos que creé por que no están seguidos con Git:

~/Desktop/proyecto  master ✗                                                               0m ⚑ ◒  
▶ git status
On branch master

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	chat.js
	components/chat.jsx

no changes added to commit (use "git add" and/or "git commit -a")

Es aquí donde resulta útil usar el comando git clean -f, que eliminará los archivos que aún no sigamos con Git, dejando limpio nuestro árbol de trabajo

~/Desktop/proyecto  master ✗                                                                 2m ◒  
▶ git clean -f
Removing chat.js
Removing components/chat.jsx

Ya en este punto mi proyecto está libre de los desastres que representaban los archivos que creé ?

Aprende PHP7 en EDteam

Si quieres aprender más sobre el comando git clean te invito a ver la documentación en https://git-scm.com/docs/git-clean

Eso es todo por ahora, nos leemos en el siguiente artículo.

 

Suscríbete al blog de EDteam

Ingresa tu correo electrónico para recibir nuestro boletín semanal