miércoles, 14 de septiembre de 2011

Branch remotos en git, dos pasos. ¿Y despues? (version Tortoise)

Anteriormente, en gitevangelism, hice un post que explica como crear un branch remoto en dos pasos, aca un resumen:

Crear un branch de manera local



Publicar el branch


Despues, hay que trabajar con el branch, hay cosas que no resultaran tan triviales al principio

Trabajar en el branch, en los branches

Si se ejecutaron los comandos para creacion de branch explicados, habra quedado activo el nuevo_branch, sino se esta seguro se puede revisar el menu contextual de tortoise git, asi:

Si el branch en el que queremos trabajar no es el activo, entonces utilizamos la opción de switch/checkout (accesible desde el menu contextual de tortoise git)


A partir de entonces, todos los commits seran dirigidos al branch activo, actualizando el branch para que apunte a cada commit que se hace.

Si por alguna razon, es necesario dejar el trabajo que se esta realizando en este branch para trabajar en otro (por ejemplo, en master), se utiliza el comando checkout para reactivar master


Si hay cambios no commiteados, seguramente el comando se negara a cambiar el branch activo, si ese fuera el caso hay que commitearlos o stashearlos (stash es un commit temporal que se usa para guardar el indice y los cambios no commiteados y que despues se puede recuperar):

Para volver, otra vez hay que utilizar otra vez la opcion switch/checkout y si se tuvo que salvar los cambios mediante stash, hay que recuperarlo haciendo

Por ultimo, se debe hacer un push, este sube cada branch trackeado a su correspondiente branch remoto (en este caso subiria el master local al master remoto y el nuevo_branch local al nuevo_branch remoto)

Colaboracion

Si se necesita que otra persona contribuya al branch, desde otra maquina, tiene que trackearlo, primero haciendo un pull o fetch, y despues con la opcion switch/checkout también:


NOTA: el checkout a remotes/origin/demo_branch solo es necesario la primera vez que se trabaja con el branch para crear el branch local que trackea, el resto de las veces un checkout al branch local alcanza

Despues, trabajar de esa manera es lo mismo que trabajar al master, con la diferencia (claro esta) que es el nuevo_branch el que recibe los cambios que se pushean

Integrar los cambios

Esta es la manera mas practica de integrar, que utiliza el 3-way-merge (otro dia hago un articulo explicando eso), no hay mas que hacer que lo siguiente:

Activar el branch destino del merge, es decir al que se va a integrar


Utilizar la opcion merge del tortoise

Elegir el branch que mergear y las opciones (es conveniente por ahora dejar las default, que son todas desmarcadas)





No hay comentarios:

Publicar un comentario