¿Por qué debes aprender Git?

** Lo siguiente fue publicado en mi blog en Ingles en el 2 de Marzo, 2014 **

Seguro que has escuchado y leído mucha información sobre Git y toda la gente hablando de este sistema de control de versión impresionante. Algunos de ustedes seguro que ya lo han aprendido mientras que otros lo han ignorado. Después de todo, es sólo un sistema de control de versiones, ¿no? Lo que has hecho hasta ahora funciona para ti y seria mucho trabajo aprender algo nuevo.

Debo admitir hasta hace un año y medio yo no había prestado mucha atención a Git. He sido muy exitoso utilizado Team Foundation versión Control (TFVC) por los últimos 8 o 9 años y francamente, funciona muy bien. ¿Qué fue sobre Git que me hizo decidir a aprenderlo y dominarlo? Te podría dar el típico argumento sobre mi habilidad para trabajar desconectado y siempre tener acceso a mi historial completo. Pero en realidad, rara vez ando desconectado. Cuando estoy en casa, tengo internet. Cuando estoy en la oficina, tengo internet. Cuando estoy en Starbucks tomando café, tengo internet. Hasta en un avion, tengo internet (estoy escribiendo esto desde unos 30 mil metros de altura). Así que si alguien intenta venderte Git debido a sus virtudes como una solución para estar desconectado, talvez tienen que tratar otras maneras de convencerte.

Lo que me gusta más de Git es el flujo de trabajo que me da. Me gusta mucho el hecho de que yo puedo cometer mis cambios de código tan a menudo como quiero sin afectar al resto del equipo hasta que yo esté listo para empujar mi código para el repositorio principal. Ojalá te pudiera decir que que todo el código que escribo es perfecto la primera vez, pero no lo es. Cometo errores (muchos de ellos) y a veces, cuando mi código llega a un punto estable, quizá no esté listo para empujar ese código para que el resto de mi equipo lo reciba todavía. Así que con TFVC (o cualquier otro control de version centralizado), tendría que seguir y si entonces hice algo que causa que cambie mi plan, tengo que rezar que el Ctrl-Z me funcione y que pueda volver al momento cuando mi código estuvo estable. Y a veces me funciona… pero muchas veces no. Así que ahora tengo que dar marcha atrás manualmente. Git me permite cometer una y otra y otra vez, cada minuto si quiero. Y una vez que estoy listo para empujar los cambios en el repositorio maestro que puedo decidir si quiero el resto del equipo vea todos mis cambios o si quiero todos mis cambios locales se convierten en un único cambio.

Otra parte impresionante de Git es que es ampliamente utilizado por gente fuera de la tecnología de Microsoft, entonces si necesitas colaborar con el resto del mundo es mucho más sencillo si todos estamos utilizando el mismo sistema de control de versión. Git es accesible desde la línea de comandos e incontables herramientas.

A partir de TFS 2013, tu puedes elegir Git como repositorio de control cuando creas tu proyecto de equipo. Y no, no es la interpretación de Git de Microsoft, es un repositorio Git completo, sólo pasa a ser conducido por TFS y te da todas las características de colaboración de equipo que has disfrutas con TFS.

Git ha ganado mucha popularidad en los últimos años y te estarías haciendo un perjuicio enorme ignorándolo por mucho más tiempo. Si has vivido en el mundo de sistema de control centralizado, hay una curva de aprendizaje y Git puede parecer un poco desalentador al principio, pero no dejes que eso te pare. Hay unos comandos que necesitas conocer bien en tu vida diaria: clone, Init, add, status, commit, checkout, branch, merge, push, pull, fetch.

Si quieres empezar con Git y tener éxito con el, y permanecer en Visual Studio, he creado un curso de Pluralsight que seguro te ayudara: Git para Desarrolladores de Visual Studio.

Asi que consigue una cuenta de Visual Studio Online o GitHub y apréndelo!

Scroll to Top