Hace unos días aprendí a manejar una gran herramienta llamada SourceTree y venia a presentárosla.
SourceTree nos permite controlar nuestros repositorios. Es una herramienta de gran utilidad que nos permite tener nuestro código organizado según nuestros intereses. Y nos permite interactuar con código de otros socios (o con el nuestro) de forma “sencilla”, cómoda y estructurada.
Veamos un ejemplo.
En la imagen tenemos una rama principal llamada ‘desarrollo’ y 2 subramas (modificar y borrar).
En el primer punto rojo, lo que hemos hecho ha sido crear una nueva subrama llamada ‘modificar’. Tras la creación de esta subrama, hemos escrito nuestro código y lo hemos subido para que se guarde (commit).
Una vez terminado el código que tiene que ver con la funcionalidad de ‘modificar’, en el segundo punto rojo hemos unido la subrama ‘modificar’ a la rama ‘desarrollo’.
Esto implica que en la rama ‘desarrollo’ se nos guarde el código escrito en la subrama ‘modificar’.
Quedando la rama desarrollo y la subrama modificar así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar } }
Tras ello, hemos creado una nueva subrama (borrar). El crear una nueva subrama, implica que todo el código que tiene la rama se pase a la subrama creada. Por tanto, en la subrama ‘borrar’ tendríamos el código que se escribió en la rama ‘modificar’.
Una vez creada la subrama escribiríamos el código para implementar la funcionalidad de borrar. Y tras terminar, uniríamos esta subrama a la rama principal. Implicando así, que en la rama desarrollo ya tengamos el código de la funcionalidad de borrar y modificar.
Quedando la rama desarrollo y la subrama borrar así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar } public function borrar() { //codigo que tiene que ver con el borrar } }
Pero aquí no acaba la cosa…
Imaginemos que más adelante nos damos cuenta que hemos cometido un error en la funcionalidad de ‘modificar’. Pues con SourceTree sería bastante sencillo de corregir este error.
Simplemente tendríamos que movernos a la subrama ‘modificar’. Una vez nos hemos movido, en nuestro IDLE únicamente nos aparecerá el código que escribimos en su momento sobre esta funcionalidad.
Osea, nos apareceria unicamente este código:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar } }
Editamos el código para corregir el error y subimos los cambios (commit).
Tras ello, debemos unir esta subrama a la rama principal otra vez. Dando lugar a que el código que había sobre la funcionalidad de ‘modificar’ en la rama desarrollo se modifique de forma automática por el código que hemos escrito recientemente.
La subrama modificar quedaria así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar //error corregido } }
La rama desarrollo quedaría así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar //error corregido } public function borrar() { //codigo que tiene que ver con el borrar } }
Como resultado, en nuestra rama desarrollo tendremos el código de la funcionalidad borrar y el nuevo código implementado en la subrama modificar.
Otro punto importante. Imaginemos, que tenemos un error en la funcionalidad de ‘borrar’. Nos deberemos mover a la rama de borrar. Entonces nos daremos cuenta, de que el código que hay en la subrama borrar acerca de la funcionalidad ‘modificar’ es código viejo, es decir, está el código de ‘modificar’, pero sin solucionar el error que nos surgió anteriormente.
Pues bien, una vez hemos escrito el código para solucionar el error en la funcionalidad de ‘borrar’, debemos hacer un commit y luego unir esta subrama con la rama principal.
El resultado, será que tendremos en la rama desarrollo el código de modificar (con el error corregido) y el código de la subrama borrar (con el código corregido).
La rama desarrollo quedaría así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar //error corregido } public function borrar() { //codigo que tiene que ver con el borrar //error corregido } }
La subrama borrar quedaría así:
class SourceTree extends CI_Controller { public function modificar() { //codigo que tiene que ver con el modificar } public function borrar() { //codigo que tiene que ver con el modificar //error corregido } }El gráfico de ramas quedaría así:
¿Cómo unir, crear ramas etc.?
-Commit: nos permite subir nuestro código a la rama en la que nos encontremos.
-Branch: nos permite crear una nueva rama.
-Merge: nos permite unir 2 ramas.
-Fecth: nos muestra los commits de nuestros compañeros.
-Pull: implementa los commit de nuestros compañeros de forma automática.
-Push: sube los cambios al repositorio.
-Stash: crea un paquete con todo nuestro código actual.
Y hasta aquí por hoy, un saludo.
No hay comentarios:
Publicar un comentario