[#TFS #GIT] HowTo: Trabajar con TFS y Git (III) branches en GIT

Series:

  1. Introucción y modelo de trabajo
  2. Cómo instalar GIT utilizando Visual Studio 2013

Hola.

vamos con la 3ra parte de esta serie de TFS y GIT, hoy veremos un poco las branches en GIT. Si ya sabes trabajar con Branches en TFS o SVN, pues mejor que te olvides de lo que sabes. Lo principal que hay que tener en cuenta en este punto es que las branches son “baratas”, muy rápidas y se crean muy rápido en GIT. Según he visto la gente que trabaja con GIT, suelen crear ramas per developer; y si bien la convención depende de cada uno, lo normal suele ser algo como USERNAME / TASK.

Y si, lo has visto claro, se crean ramas por tareas! Repito lo anterior, trabajar con ramas en Git es muy rápido, las mismas no ocupan muchos recursos y es bastante ágil. A partir de aquí las Branches en Git respetan todo lo que ya conoces, merge, branch, etc.

Ahora bien, una vez que existe un repositorio de GIT, las ramas deben residir en un repositorio. Cuando creas un reposirorio desde cero, la rama principal que se crea es la MASTER y de nuevo, para gustos colores. Algunos la utilizan como rama de estabilización entre las ramas de DEV y de RELEASES, otros la usan como el trunk de SVN, y … pues lo que elijas.

Otro punto interesante a tener en cuenta es algo que me asombró el primero día que lo ví: CHECKOUT DE TODO UN BRANCH. (git checkout). Esto parece un poco “a lo bestia”, sin embargo el core de la cuestión está en los modelos de publicación de Git: commit and publish. Estas 2 acciones son bien diferentes entre si: Es posible que un dev haga un commit de todos los cambios en una rama de su repo local, y en algún momento puede elegir hacer un push a una rama externa con parte de los cambios que ha realizado. Aquí vemos que los commits en GIT son increíblemente frecuentes (aquí hago un must review personal, porque sé que existe el comando git stash, pero no tengo muy en claro en que modelos de trabajo podría serme útil).

Pues bien, esto no ha sido un repaso sobre trabajo con ramas, sino más bien las diferencias que me he encontrado yo, trabajando con las mismas en Git y viviendo del mundo de TFS.

PD: Si no conoces las recomendaciones para trabajar con ramas en TFS, pues la Visual Studio Team Foundation Server Branching and Merging Guide es para ti!

Saludos @ Caparica (Portugal!)

El Bruno

image image image Google

3 comments

  1. El artículo esta genial; pero, para los entornos empresariales qué necesitamos adaptar? Es decir, cuando tienes repositorios en TFS 2010, o 2012, con las ramas DEV, MAIN, y las respectivas RELEASES, como mantienes la integridad entre estos repositorios y las nuevas ramas creadas en las máquinas de cada desarrollador con GIT?

    Estaría genial un nuevo manual, aunque fuera más escueto, como por ejemplo del estilo de Visual Studio ALM with GIT and TFS. Los dos libros de Visual Studio ALM son estupendos y me han resultado imprescindibles en el entorno de trabajo. Por ello que un manual sobre GIT y TFS sería la magnífico.

    Ánimo, y desde aquí te hago una invitación a ese futuro manual, estaré esperando el lanzamiento!!!:), ya que desde mi punto de vista GIT para branches locales es extraordinario en cuanto a flexibilidad y potencia, y creo que de eso Microsoft hace algún tiempo que es gran conocedor.

    Muchas gracias Bruno.

    Un saludo.

    Like

  2. El artículo esta genial; pero, para los entornos empresariales qué necesitamos adaptar? Es decir, cuando tienes repositorios en TFS 2010, o 2012, con las ramas DEV, MAIN, y las respectivas RELEASES, como mantienes la integridad entre estos repositorios y las nuevas ramas creadas en las máquinas de cada desarrollador con GIT?

    Estaría genial un nuevo manual, aunque fuera más escueto, como por ejemplo del estilo de Visual Studio ALM with GIT and TFS. Los dos libros de Visual Studio ALM son estupendos y me han resultado imprescindibles en el entorno de trabajo. Por ello que un manual sobre GIT y TFS sería la magnífico.

    Ánimo, y desde aquí te hago una invitación a ese futuro manual, estaré esperando el lanzamiento!!!:), ya que desde mi punto de vista GIT para branches locales es extraordinario en cuanto a flexibilidad y potencia, y creo que de eso Microsoft hace algún tiempo que es gran conocedor.

    Muchas gracias Bruno.

    Un saludo.

    Like

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: