Ggit-logoit es un sistema de control de código fuente distribuido de gran popularidad. Ésta se debe no solo a que es un sistema objetivamente muy bueno (aunque más complejo de utilizar que otros como Subversion, si bien Git es más potente), sino también a que el proyecto GitHub lo ha hecho grande. Github es el centro neurálgico del Open Source mundial, habiendo desplazado a proyectos históricos como SourceForge y similares, y es realmente donde se "cuece" todo lo que tiene que ver con código fuente abierto. Y GitHub, como su propio nombre indica, se basa en Git.

Github ofrece una serie de características interesantes por encima de Git, como son la revisión de código colaborativa, la gestión integrada de bugs o el famoso "fork" (que consiste básicamente en clonar un repositorio para jugar con él o para proponer cambios sin afectar al original). Github es gratuito para proyectos públicos (o sea, Open Source), pero si quieres mantener repositorios privados y que solo tú y tu equipo podáis acceder a ellos, entonces debes pagar (lo cual está bien, pero deberían ser más transparentes al respecto: esa página de precios no es nada directo poder encontrarla).

Aunque no es lo primero que viene a la cabeza para mucha gente, una gran opción alternativa para trabajar con Git en empresas de forma privada y gratuita es Visual Studio Online.

La verdad es que personalmente el nombre de "Visual Studio Online" me horroriza. Para empezar, mucha gente al escucharlo piensa que es una versión en la nube del editor de Visual Studio, para programar, y nada más lejos de la realidad. Muchas más personas piensan que se trata de unas herramientas atadas por completo a la tecnología de Microsoft, lo cual tampoco es cierto en absoluto. Por eso ese nombre me parece muy poco adecuado.

VSOnline en realidad ofrece un conjunto de herramientas muy interesantes para equipos de desarrolladores, las cuales son útiles para todo tipo de tecnologías y lenguajes de programación (no solo las de Microsoft). Y además es completamente gratuito para empresas de hasta 5 personas.

Con Visual Studio Online dispones de tantos repositorios de código privados como quieras, así como tantos entornos aislados de trabajo donde crearlos como desees, de manera completamente gratuita. Para crearlos puedes utilizar Team Foundation Server o, mucho mejor, Git, con todas las capacidades que esperas de este sistema de control de código fuente. A estos repositorios puedes acceder desde cualquier herramienta estándar para Git, desde cualquier sistema operativo (más sobre esto en un momento).

Por encima de Git, Visual Studio añade multitud de características interesantes, como por ejemplo (y seguro que me olvido de alguna):

  • Control de acceso granular al código fuente por grupos y usuarios
  • Revisión de código online, integrada en el código fuente y pudiendo comentar y debatir líneas concretas.
  • Comparación online de versiones del código, con anotaciones, identificación de responsables de cambios, etc....
  • Soporte online para flujos de trabajo sobre el código, como pull requests y aprobación de cambios previa discusión.
  • Políticas de código para forzar buenas prácticas: por ejemplo, exigiendo revisiones previas o que el código compile bien antes de poder enviarlo.
  • Control de trabajo: con tareas, elementos de trabajo enlazados a código, etc... con colaboración sobre los mismos.
  • Soporte para herramientas de planificación ágil, como por ejemplo SCRUM o tableros Kanban.
  • Salas de debate para discutir cuestiones generales en tiempo real con el equipo, muy útil si esta distribuido y no en la misma habitación.
  • Builds automatizadas en la nube, con testeo automatizado. Tanto bajo demanda como de manera automática.
  • Integración con multitud de servicios externos mediante lo que se llama Service hooks: Trello, Hipchat, Jenkins, Slack, Zendesk... incluso con cualquier servicio REST propio.
  • Consultas, informes y gráficas personalizables para obtener cualquier información importante sobre los proyectos.
  • Panel de información personalizable, desde el que podemos ver de un golpe de vista toda la información importante de cada proyecto.

Lo que no me explico es cómo no lo usa mucha más gente. Es útil incluso para proyectos en los que está uno solo.

Es un hecho: ¡¡deberías usar control de código fuente incluso cuando trabajes solo!!.

VSO-Comentar-Codigo

VSO-Service-Hooks

Acceso desde cualquier cliente Git

Si utilizamos Visual Studio acceder a un repositorio Git albergado en Visual Studio Online es muy fácil puesto que solo debemos utilizar las herramientas para Git integradas en Visual Studio (incluso en la edición Community gratuita) y accederemos usando las mismas credenciales de Microsoft Live que nos permiten acceder desde el navegador.

Pero ¿qué pasa si queremos acceder a un repositorio Git desde Eclipse, VSCode, desde la propia línea de comandos o en general desde cualquier herramienta que no sea Visual Studio?

Lo que tenemos que hacer es establecer lo que se llaman unas credenciales alternativas en VSOnline.

Para ello pulsas en tu nombre de usuario, arriba a la derecha, vas a tu perfil y dentro de éste al apartado "Credenciales", como muestro aquí:

VSO-Git-Credenciales-Alternativas

Ahí verás tu cuenta principal (generalmente un Windows Live ID), y debajo tienes la opción de modificar tu nombre de usuario primario (que generalmente es un email, pero que algunos clientes no soportan), tu nombre de usuario secundario (que deberá ser una cadena más sencilla), y cambiar la clave alternativa.

Cuando cambias esta clave alternativa no estás cambiando la clave de tu cuenta de LiveID, sino que estás asignando una clave adicional diferente, asociada con la cuenta principal.

De este modo puedes usar estas credenciales alternativas (nombre de usuario principal o secundario + clave alternativa) para acceder desde cualquier entorno convencional (que no sea Visual Studio) y utilizar Git de la manera que tengas por costumbre.

¡Espero que te sea útil!

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor

Escrito por un humano, no por una IA