5 comandos git para salvar tu día

Actualmente estoy trabajando en un proyecto grande, en el que estamos implicados varios desarrolladores. Esta experiencia me ha ayudado a reunir 5 comandos git que creo que pueden ser útiles a la hora de sortear ciertas minicrisis que surgen a diario trabajando con un sistema de control de versiones:

1. git rebase <branch_name>

Git nos proporciona dos formas de fusionar ramas: merge y rebase. Merge (la forma más común) se encargará de integrar las divergencias entre las ramas creando un nuevo commit, en cambio, rebase reorganizará la base de nuestra rama actual actualizando el punto de creación de la misma. Si te interesa que el historial de commits cuente la historia de cómo ha sido creado tu proyecto, te conviene hacer un rebase de tu trabajo local antes de hacer push; esto te permitirá también mantener tu rama principal (master) como un historial de merge limpios, con lo cual será más sencillo realizar operaciones de regresión.

Git rebase


2. git stash

Si hemos trabajado en cierta funcionalidad que todavía no tiene consistencia para convertirla en un commit, podemos guardarla provisionalmente en la pila aplicando este comando. De esta forma podremos movernos tranquilamente entre ramas o hacer un merge sin antes vernos obligados a crear un commit inconsistente.

Para volver a aplicar los cambios guardados y retirarlos de la pila, simplemente haremos lo siguiente:

git stash pop

3. git cherry−pick <commit_id>

Con este comando podremos integrar uno o varios commit en nuestra rama actual. Puede venirnos muy bien cuando, por ejemplo, no podemos realizar una fusión de ramas completa con rebase o merge, pero sí queremos aprovecharnos de cierta funcionalidad concreta.

Git stash

Podemos aplicar más de un commit a la vez de esta forma:

git cherry-pick <commit_id1> <commit_id2> <...>

4. git commit --amend --no-edit

Este comando sirve para añadir los cambios actuales al último commit del historial sin modificar el nombre del mismo. Es muy útil por ejemplo en las revisiones de código, cuando un compañero te propone una sugerencia y quieres realizar las modificaciones sin crear un commit nuevo.

En caso de que se necesite modificar el mensaje, se puede utilizar lo siguiente:

git commit --amend -m "Commit Message"

5. git reset --hard HEAD~1

Y ya para terminar, este comando nos permite eliminar definitivamente el último commit del historial.

En caso de querer eliminar más de un commit simplemente tendremos que cambiar la última parte del comando por HEAD~2, HEAD~3, etc.

Conclusión

Esto no es más que un sencillo ejemplo de lo potente que puede llegar a ser Git. Si todavía no domináis mucho el tema, os aconsejo que toméis el artículo como punto de partida y sigáis profundizando; esto os ayudará a tomar mejores decisiones y, sobre todo, trabajar más tranquilos. 😉

Enlaces de referencia