<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

	<channel>
		<title>Magazine - sistemas-de-control-de-versiones</title>
		<link>http://www.genbetadev.com</link>
		<description>
Información sobre el sector de los desarrolladores, el desarrollo de aplicaciones, para móviles, desarrollo web, bases de datos, frameworks y lenguajes de programación		</description>
		<pubDate>2013-06-19 04:55:17</pubDate>

		<generator>http://www.genbetadev.com</generator>
                    <item>
      <title><![CDATA[SemanticMerge, de Codice Sotfware, anuncia el soporte de Java]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/semantic-merge-de-plasticsm-anuncia-el-soporte-de-java</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/semantic-merge-de-plasticsm-anuncia-el-soporte-de-java</guid>
      <pubDate>Thu, 30 May 2013 16:36:17 +0000</pubDate>

      <author>Juan Quijano</author>
      <description><![CDATA[
      <p><img alt="SemanticMerge" src="http://img.genbetadev.com/2013/05/semanticmerge.jpg" class="centro_sinmarco" /></p>

<p>A finales del mes de abril, <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/semanticmerge-una-forma-diferente-de-realizar-los-merges-en-nuestro-repositorio">escribí un análisis</a> sobre una revolucionaría herramienta de merge de código compartido, Semantic Merge, de la empresa códice software – que <strong>además es 100% española</strong>.</p>

<p>Y en el cual, además, tuve el placer de compartir con los lectores de GenbetaDev las opiniones y anotaciones de <em>Roberto Luis Bisbé</em>, uno de los programadores directamente participante en este proyecto tan interesante.</p>

<p><!--more--></p>

<p><h2>Evolucionando el uso de idiomas</h2><br />
En aquel momento, partiendo de que es una herramienta construida enteramente en C# sobre el framework .NET 4, los lenguajes que soportaba nativamente eran C# y Visual Basic. <span class="caps">NET</span>.</p>

<p>Pero siguiendo el “<em>roadmap</em>” que se puede visualizar en la propia página web del producto, acaban de anunciar que <strong>Semantic Merge “<em>entiende</em>” Java</strong>, como preludio a la llegada de C++, Javacript, Ruby, php o python.</p>

<p>Y, no hay que olvidarlo, que <strong>es un producto gratuito para los proyectos Open Source</strong>.</p>

<p>Otra cosa que quiero señalar es el espectacular diseño de la Web que, en una conversación con el diseñador que está detrás del magnífico grafismo de la misma, me dejó boquiabierto al indicarme que no había visto ninguna de las películas de “Ultimatum a la tierra”&#8230; y que <strong>no era Gort</strong>.</p>

<p><iframe width="650" height="405" src="http://www.youtube.com/embed/3JsPD7InOuc" frameborder="0" allowfullscreen></iframe></p>

<p>Más información | <a href="http://www.semanticmerge.com/">Web de SemanticMerge</a><br />
En GenbetaDev |  <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/semanticmerge-una-forma-diferente-de-realizar-los-merges-en-nuestro-repositorio">SemanticMerge, una forma diferente de realizar los merges en nuestro repositorio</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[SemanticMerge, una forma diferente de realizar los merges en nuestro repositorio]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/semanticmerge-una-forma-diferente-de-realizar-los-merges-en-nuestro-repositorio</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/semanticmerge-una-forma-diferente-de-realizar-los-merges-en-nuestro-repositorio</guid>
      <pubDate>Mon, 22 Apr 2013 05:39:59 +0000</pubDate>

      <author>Juan Quijano</author>
      <description><![CDATA[
      <p><img alt="SemanticMerge, portada" src="http://img.genbetadev.com/2013/04/SemanticMerge-portada.jpg" class="centro" /></p>

	<p>Los desarrolladores utilizamos de forma habitual, o al menos así debería ser en todos los casos, los repositorios de código para mantener un <strong>control cercano de las versiones</strong> y optimizar el trabajo en equipo.</p>

	<p>Dichos repositorios permiten que un equipo trabaje sobre un mismo código, modificándolo, añadiendo o eliminando líneas, de forma simultánea. O, utilizando una política de branching, desarrollar líneas paralelas de una aplicación para tener la seguridad de tener siempre una versión funcional.</p>

	<p>Sin embargo estas ventajas tienen un lado oscuro que a todo programador preocupa: los merge. El momento en que <strong>el trabajo de varias personas se debe &#8220;<em>mezclar</em>”</strong> y ponerse de acuerdo para obtener una sola unida de código.</p>

	<p><!--more--></p>

	<p><h2>SemanticMerge,innovando en la gestión del codigo</h2><br />
<img alt="SemanticMerge, qué hace" src="http://img.genbetadev.com/2013/04/SemanticMerge-what-it-does.jpg" class="centro" /></p>

	<p><a href="www.codicesoftware.com">Códice software</a> es una compañía totálmente española que, cosa ya de por sí asombrosa en estos tiempos de &#8220;<em>cárnicas</em>&#8220;, <strong>se dedica a realizar software de calidad</strong>. Así, entre sus productos estrella tiene el repositorio de código PlasticSCM y, con una preciosa página Web, acaban de hacer pública su beta del producto <a href="http://www.semanticmerge.com/">SemanticMerge</a>.</p>

	<p>Según la propia compañía, estamos ante <em>una revolucionaría forma de realizar el Merge del código</em>, gracias a la ayuda que ofrece la herramienta. Y que, además, funciona con los principales repositorios actuales, y ya están abordando el funcionar sobre los pocos que le faltan.</p>

	<p><img alt="Roberto Luis Bisbé" src="http://img.genbetadev.com/2013/04/Roberto_Bisbe.JPG" class="derecha" /><br />
Pero el que mejor nos puede hablar sobre la empresa y este producto es uno de sus desarrolladores, <strong>Roberto Luis Bisbé</strong>.  Un joven recién licenciado, con gran reconocimiento en la comunidad .NET, y que participa directamente en el desarrollo de SemanticMerge.</p>

	<p><strong>¿Por qué una herramienta para realizar merges de código?</strong> <br />
La idea de este proyecto viene de nuestra manera de trabajar internamente en Códice, empleamos una metodología denominada rama por tarea, con lo cual cada vez que se completa una tarea (y pasa sus correspondientes test) nuestro Release Manager la integra en la rama de producción. Como trabajamos de manera paralela, es frecuente que varios miembros del equipo modifiquen los mismos ficheros, generando conflictos.</p>

	<p>Las herramientas actuales gestionan estos conflictos a nivel de línea, lo que las hace tremendamente versátiles y universales, pero carecemos de información de contexto, de tal manera que al realizar un merge, si un miembro del equipo ha movido un método, y otro ha realizado cambios, genera un conflicto manual que se podría haber resuelto de manera automática.</p>

	<p><strong>¿Qué es SemanticMerge?</strong><br />
SemanticMerge es, en primer lugar, una herramienta de merge. Estas herramientas permiten, dados 3 ficheros (origen, destino y base) combinar los cambios que se han producido y dar como resultado un nuevo fichero. Se emplean continuamente en el contexto del control de versiones para mezclar o integrar ramas con cambios concurrentes.</p>

	<p><strong>¿Qué tiene de nuevo este merge?</strong><br />
Es algo completamente diferente a lo visto hasta ahora, ya que es la primera herramienta comercial que permite analizar los cambios no a nivel de líneas, sino a un nivel más abstracto, viendo diferencias entre métodos, clases, propiedades o campos en un mismo fichero. Permite además convertir operaciones manuales (y muy costosas) en operaciones automáticas, como es el caso del refactor comentado anteriormente.</p>

	<p><strong>¿Se integra con Visual Studio?</strong><br />
Al ser una herramienta de merge, se puede integrar con Team Foundation Server, y de hecho tenemos una guía disponible para ello en semanticmerge.com http://www.semanticmerge.com/</p>

	<p><strong>¿Y Eclipse, XCode o el resto de los <span class="caps">IDE</span> de desarrollo?</strong><br />
Nosotros nos integramos a nivel de control de versiones, es decir, que Git, Mercurial, Perforce o ClearCase pueden cambiar su herramienta de merge por defecto a la nuestra. Respecto a plataformas en estos momentos solamente ofrecemos soporte para Windows, aunque las versiones de Mac y Linux están en nuestra hoja de ruta, y deberían estar disponibles pronto.</p>

	<p><strong>¿Tenéis pensado ofrecerlo On line, como servicio?</strong><br />
Aunque se planteó originalmente como una herramienta en la nube, desde el punto de vista práctico y de rendimiento hemos optado por hacer aplicaciones de escritorio, de momento.</p>

	<p><strong>¿En qué lenguaje está realizada SemanticMerge?</strong><br />
Todo nuestro desarrollo está hecho en C#, en .NET 4 y usando Visual Studio 2010 y 2012 como entornos. El apartado gráfico está hecho en <span class="caps">WPF</span> usando Blend como herramienta de diseño.</p>

	<p><strong>¿Es producto nacional 100%?</strong><br />
Completamente, tanto a nivel de desarrollo como a nivel de negocio somos una empresa española, aunque estamos enfocados al mercado internacional, de ahí que el idioma principal a nivel interno o externo sea el inglés.</p>

	<p><strong>¿Por qué tenéis vuestras oficinas en Valladolid, cuando parece que todo se aglutina en las grandes capitales como Madrid o Barcelona?</strong><br />
Dejando de lado la historia de la ciudad, que entre 1601 y 1606 fue capital del entonces Imperio Español, la razón fundamental es que Pablo, uno de nuestros fundadores, ya trabajaba en Valladolid antes de fundar la empresa. La situación de la ciudad, a tan solo 1h en <span class="caps">AVE</span> del centro de Madrid nos permite alejarnos un poco del “ruido” mientras que seguimos siendo una empresa competitiva y conectada, además, la mayor parte de nuestros ingenieros vienen de Valladolid o Burgos.</p>

	<p>Muchas gracias a Roberto y a Códice Software por estas palabras y por el excelente producto que han sacado al mercado <strong>en formato beta pública (sin cargo)</strong> a la espera de la presentación de SemanticMerge en toda sus funcionalidad.</p>

	<p>Para cerrar el artículo, señalar el exquisito diseño gráfico del producto, basado en la película de Ciencia Ficción de los años 50, “<em>Ultimátum a la tierra</em>”, y de donde se utiliza como logotipo <strong>la amenazante figura de Gort</strong> que transmite una enorme fuerza y conocimiento superior.</p>

	<p>Más información | <a href="http://www.semanticmerge.com/">SemanticMerge Web</a>, <a href="http://www.plasticscm.com/company/team.aspx">Códice Software</a><br />
Vía | <a href="http://robertoluis.wordpress.com/2013/04/18/merges-un-poco-mas-inteligentes-para-c/">Roberto Bísbe blog</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[SourceTree, cliente GUI para manejar repositorios Git o Mercurial, llegará en breve a Windows ]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/sourcetree-cliente-gui-para-manejar-repositorios-git-o-mercurial-llegara-en-breve-a-windows</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/sourcetree-cliente-gui-para-manejar-repositorios-git-o-mercurial-llegara-en-breve-a-windows</guid>
      <pubDate>Fri, 15 Feb 2013 17:51:05 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="SourceTree Windows" src="http://img.genbetadev.com/2013/02/650_1000_sourcetree-windows.png" class="centro" /></p>

	<p><strong>SourceTree</strong> es quizás <strong>uno de los mejores clientes <span class="caps">GUI</span> para manejar repositorios git y mercurial</strong> que existen en la actualidad. La pena es que hasta ahora sólo estaba disponible para plataformas mac, pero eso va a cambiar ya que Atlassian ha anunciado que <strong>en breve los usuarios de Windows</strong> también podrá disfrutar de él.</p>

	<p><!--more--></p>

	<p>Hay miles de comentarios positivos sobre <a href="http://sourcetreeapp.com/">SourceTree</a>. Y no es de extrañar, ya que la complejidad que puede conllevar manejar un <a href="http://en.wikipedia.org/wiki/Distributed_revision_control"><span class="caps">DVCS</span></a>, se convierte en algo sencillo sin perder ni un ápice de potencia y flexibilidad. </p>

	<p>A través de esta herramienta podemos realizar completamente todas las tareas de gestión de un <span class="caps">DVCS</span>:</p>

<ul>
<li>Crear y clonar repositorios de cualquier sitio, tanto Git como Mercurial. Además de integrarse perfectamente con Bitbucket o Github.</li>
<li>Commit, push, pull y merge de nuestros archivos</li>
<li>Detectar y resolver conflictos</li>
<li>Consultar el historial de cambios de nuestros repositorios.</li>
</ul>

	<p>Todo ello sin olvidar las tareas más complejas como la integración de <span class="caps">SVN</span> vía git-svn o hgsubversion para cuando estamos haciendo una migración de sistema de repositorio. Y todos los comandos como el manejo de patch, rebase, stash/shelve y mucho más. </p>

	<p>La <strong>disponibilidad de SourceTree para Windows</strong> se irá realizando gradualmente a través de un programa de acceso para pioneros que se apunten a la beta. Por lo que si quieres probarlo deberás apuntarte al formulario que ha creado Atlassian. Quizás debamos esperar a que la aplicación esté pulida al 100% pero es una de las mejores herramientas para introducirse al manejo de <span class="caps">DVCS</span>, ya que nos da un gran abanico de posibilidades que a través del uso de comandos se hace mucho más complejo. </p>

	<p>Descargar | <a href="http://sourcetreeapp.com/">SourceTree</a><br />
Vía | <a href="http://blog.sourcetreeapp.com/2013/02/14/sourcetree-for-windows-beta-signup/">SourceTree Blog</a><br />
En Genbeta Dev | <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/subgit-migrar-de-subversion-a-git-sin-quebraderos-de-cabeza">SubGit: migrar de Subversion a Git sin quebraderos de cabeza</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[¿Son nuestros comentarios en los commits lo suficientemente útiles?]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/son-nuestros-comentarios-en-los-commits-lo-suficientemente-utiles</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/son-nuestros-comentarios-en-los-commits-lo-suficientemente-utiles</guid>
      <pubDate>Sun, 04 Nov 2012 16:59:46 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="mensajes de commit" src="http://img.genbetadev.com/2012/11/650_1000_comentarios-commit-repositorios.jpg" class="centro_sinmarco" /></p>

	<p>Quizás seas un cowboy que cabalga sólo y no le das importancia a los <strong>comentarios de tus commits</strong> en tu repositorio de código, pero cuando se trabaja en equipo estos comentarios son fundamentales para que otros compañeros sepa en qué estado se encuentra el proyecto y lo que se van a encontrar a actualizarlo.</p>

	<p><!--more--></p>

	<p>Cuando hacemos hacemos checkout de un proyecto, lo que <strong>queremos saber es cuál es el estado del código</strong>, es decir, qué funcionalidades nuevas se han incorporado o que comportamientos se han modificado desde la última revisión. Un error en que solemos caer es explicar en los comentarios de commit qué hicimos, pero no qué hace el software. </p>

	<p>Los comentarios deben estar más cerca a las <strong>historias de usuario</strong> que a cuestiones técnicas de métodos, clases o bugs que hemos resuelto. Ojo, no quiere decir que no indiquemos modificaciones de código que puedan influir a nuestros compañeros cuando lo actualicen con el nuestro. Pero lo que esperamos es saber qué hace el software actualmente con el nuevo código que se ha incorporado, las clases que se han modificado y los elementos añadidos o eliminados ya los vemos en la revisión.</p>

<h2>Consejos prácticos para mejorar nuestros comentarios en los commits</h2>

	<p>Leyendo un interesante <a href="http://arialdomartini.wordpress.com/2012/09/03/pre-emptive-commit-comments/">post que hablaba precisamente sobre repositorios y commits</a>, me encontré con el mismo problema de olvidar explicar el comportamiento del código y centrarse en exceso sobre la descripción de la implementación o qué se hizo. De allí saque algunos consejos prácticos para mejorar nuestros comentarios.</p>

<ul>
<li><strong>Hablar sobre las funcionalidades del nuevo código</strong>, no sobre ti mismo: no escribir que hiciste, si no describir qué hace el software ahora con estos cambios</li>
<li><strong>No hablar en pasado</strong>, debemos usar el presente y centrarnos en el estado actual.</li>
<li><strong>Evitar referencia temporales</strong> en el commit, la revisión ya incluye la fecha de modificación.</li>
</ul>

	<p>Pero la idea de mejorar nuestros commit va mucho más allá. Ya que dándole una vuelta por completo a la forma de comentar nuestros commit podemos llegar a plantearnos la técnica de <strong>escribir los comentarios de commit antes de empezar a codificar ni una sola línea de código</strong>. </p>

<h2>Beneficios de escribir los comentarios de nuestros commit antes de codificar:</h2>

<ul>
<li>Estaremos <strong>más enfocados durante el desarrollo</strong>. El comentario de commit es un resumen de las tareas del to-do que tenemos que implementar. Intentamos no salirnos de la historia de usuario a realizar, sin divagar y haciendo lo que describe ese comentario sin mezclar otras posibles tareas.</li>
<li><strong>Revisar el commit es mucho más fácil</strong>, si tenemos ya una breve visión de lo que tiene que contener. </li>
<li><strong>A la hora de commitear serás mucho más preciso</strong>. Después de un par de horas enfrascado en el código, normalmente no nos apetece pensar demasiado que poner por lo que todo queda en vacíos mensajes de “solucionado el bug&#8230;” “mejoras en la clase, blaba, o refactor del método mágico”. Por eso agradecerás haberlo escrito antes.</li>
<li>Si trabajas con <strong>pomodoros</strong>, incluso puede servirte para organizar tus commit en sesiones de trabajo haciendo cosas concretas.</li>
<li>Al final de todo, al tener definida una meta clara, <strong>ese commit queda mucho más preciso y podemos fijarnos pequeños hitos</strong> o modificaciones que se vean reflejados en el código bien delimitados. </li>
</ul>

	<p>Después de todo, sólo son un par de ideas que puedes poner en practicar o combinar con las tuyas propias. Y si lo de escribir buenos mensajes en los commit no es lo tuyo, puedes seguir recurriendo al <a href="http://whatthecommit.com/">generador aleatorio de mensajes de commit</a>, pero luego no te quejes porque te pierdes entre revisiones y no sabes qué hace el código em cada una de ellas.</p>

	<p>Vía | <a href="http://arialdomartini.wordpress.com/2012/09/03/pre-emptive-commit-comments/">Preemptive commit comments</a><br />
Foto | <a href="http://whatthecommit.com/">Generador aleatorio de mensajes de commit</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Commit Status API de Github, extendiendo la información del estado de nuestros commits]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/commit-status-api-de-github-extendiendo-la-informacion-del-estado-de-nuestros-commits</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/commit-status-api-de-github-extendiendo-la-informacion-del-estado-de-nuestros-commits</guid>
      <pubDate>Tue, 04 Sep 2012 17:47:02 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="Api Status Github" src="http://img.genbetadev.com/2012/09/650_1000_Fullscreen-13-2-20120827-214248.png" class="centro" /></p>

	<p>Interesante movimiento de <strong>Github</strong> al presentar hoy su Commit Status <span class="caps">API</span></strong>, una útil <span class="caps">API</span> que indique el estado de los commit hechos en nuestros repositorios. Esto permitirá obtener muchas más información de los pull request que se realicen sobre todo si lo combinamos con CI (Integración continua). </p>

	<p><!--more--></p>

	<p>Los <strong>diversos estados</strong> “pending”, “success”, “failure” o “error” nos ayudarán a manejar mejor el código. Así cuando hagamos un commit podemos lanzar los test asociados e indicar en el estado si ha pasado los test dando información adicional con la descripción si no los ha pasado o una url con la salida del build fallido. </p>

	<p>Esta nueva <strong><span class="caps">API</span> de Github</strong> es un gran impulso para aplicaciones que ya estaban trabajando en este tipo de funcionalidades como <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/travis-ci-sistema-distribuido-de-integracion-continua-libre-integrado-con-github">Travis</a> o <a href="https://sprint.ly/">Sprint.ly</a>. </p>

	<p>Usando <strong>Travis para la integración continua</strong> podemos ver como la propia herramienta nos <a href="http://about.travis-ci.org/blog/2012-09-04-pull-requests-just-got-even-more-awesome/">notifica en el estado de cada commit</a> si ha sido correcto (ha pasado todos lo test) junto con sus detalles, si ha sido fallido o si hay alguna advertencia cuando está ocupado pasando los test. </p>

	<p>En <strong>Sprint.ly</strong> <a href="http://blog.sprint.ly/post/30873339277/sprint-ly-github-status-api-win">nos ponen otro ejemplo</a> de uso bastante interesante: un desarrollador hace un commit indicando que un ticket se ha cerrado; Sprint.ly envía un email al equipo, añade el mensaje al commit y marca el commit con la <span class="caps">API</span> de Github como “pending” hasta que otro desarrollador lo revise; cuando alguien revisa el ticket se verifica y desde Sprint.ly se indica usando la status <span class="caps">API</span> que commit ha sido “success”. </p>

	<p>La status <span class="caps">API</span> de Github <strong>permite añadir más datos a cada commit</strong> agregando información interesante para el “exterior”. A bote pronto, se me ocurre que sería  interesante integrar esta  <span class="caps">API</span> de Github con tablones virtuales de Scrum o Kanban, pudiendo enlazar historias o tareas con nuestro código y, por supuesto, con su estado. Algo como <a href="http://kanbantool.com/">Kanbantool</a> enlazado con Github, ¿alguien se pone a ello?</p>

	<p>Vía | <a href="https://github.com/blog/1227-status-api">Github Blog</a><br />
Más información | <a href="http://developer.github.com/v3/repos/statuses/">Documentación Status Commit Github</a><br />
En Genbeta Dev | <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/travis-ci-sistema-distribuido-de-integracion-continua-libre-integrado-con-github">Travis CI, sistema distribuido de integración continua libre integrado con Github</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[¿Qué usas para gestionar tus repositorios personales de código? ]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/que-usas-para-gestionar-tus-repositorios-personales-de-codigo</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/que-usas-para-gestionar-tus-repositorios-personales-de-codigo</guid>
      <pubDate>Sat, 18 Aug 2012 06:50:18 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><a href="http://www.genbetadev.com/respuestas/que-usas-para-gestionar-tus-repositorios-personales-de-codigo"><img src="http://img.genbetadev.com/2012/04/bg-header-qa_6501-1.jpg" class="centro"/></a></p>

	<p>Prácticamente casi todos tenemos algún proyecto personales o al menos nos gusta trastear con pequeñas aplicaciones en nuestro tiempo libre. En las empresas es habitual tener un repositorio de código, sobre todo como control de versiones y compartir código con otros compañeros, pero cuando trabajamos solos es otra historia.</p>

	<p>Por eso, esta semana en la pregunta queremos saber <strong>qué herramientas usas para gestionar tu código</strong> y mantener tus repositorios personales, ya sea, por ejemplo, con Dropbox, un servidor <strong>Git</strong>, <strong><span class="caps">SVN</span></strong>, <strong>Mercurial</strong> privado, repositorios “sociales” como <strong>GitHub</strong> o <strong>Bitbucket</strong>, o otras alternativas.</p>

<blockquote><a href="http://www.genbetadev.com/respuestas/que-usas-para-gestionar-tus-repositorios-personales-de-codigo">¿Qué usas para gestionar tus repositorios personales de código?</a>
</blockquote>

	<p>Recuerda que para responder, debéis hacerlo desde nuestra sección de <a href="http://www.genbetadev.com/respuestas/que-usas-para-gestionar-tus-repositorios-personales-de-codigo">Genbeta Dev Respuestas</a> (sigue el enlace) y no comentes en este post. Gracias.</p>

	<p><!--more--></p>

	<p>En la pregunta de la semana pasada os preguntábamos ¿<a href="http://www.genbetadev.com/respuestas/cual-ha-sido-tu-ultimo-descubrimiento-tecnologico">Cuál ha sido tu último descubrimiento (framework, librerías, lenguajes,herramientas, …)?</a> Hemos recibido un aluvión de increíbles tecnologías interesante para comentar más en detalle. Gracias a todos por vuestras respuestas tendremos un gran arsenal de cosas con las que trastear estos días. De entre todas las respuestas enviadas, la más valorada (7 votos) ha sido la de <a href="http://www.genbetadev.com/respuestas/cual-ha-sido-tu-ultimo-descubrimiento-tecnologico/c/3163#c3163">Javi Manzano.</a></p>

<blockquote>Backbone.js. Aún estoy empezando, pero le veo un gran potencial. Estaba cansado ya de mis habituales enjambres de javascript en mis proyectos, creo que este framework podría ser parte de la solución :)</blockquote>

	<p>Muchas gracias a todos por participar. Nos vemos la semana que viene con las mejores respuestas a la pregunta que os hemos propuesto. Y recordad que la sección de Genbeta Dev Respuestas está a vuestra disposición para resolver todas las dudas que tengáis.</p>

	<p>En Genbeta Dev | <a href="http://www.genbetadev.com/respuestas/que-usas-para-gestionar-tus-repositorios-personales-de-codigo">¿Qué usas para gestionar tus repositorios personales de código?</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Aprende a usar Git en 15 minutos]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/aprende-a-usar-git-en-15-minutos</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/aprende-a-usar-git-en-15-minutos</guid>
      <pubDate>Sat, 07 Jul 2012 16:38:22 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="Aprender a usar Git 15 minutos" src="http://img.genbetadev.com/2012/07/650_1000_687474703a2f2f636c2e6c792f326a31533133336e3138317832783349326833322f7472792e6769746875622e636f6d5f73637265656e73686f745f322e706e67.png" class="centro" /></p>

	<p><strong>Git</strong> es uno de los sistemas de control de versiones más populares y del que más estamos oyendo hablar últimamente. Gracias a su potencia y versatilidad muchos grandes proyectos de software libre están migrando sus <strong>repositorios a Git</strong>. Cada vez más es más importante saber usar Git, tanto a nivel personal como laboral. Parte del éxito de este sistema de repositorios es GitHub y no dejan de evangelizar, más si cabe, a todos los desarrolladores que quieran <strong>aprender a usar Git</strong> con un curso interactivo de unos 15 minutos donde podrás a empezar a soltarte.</p>

	<p><!--more--></p>

	<p>Si vienes de <strong>Subversion</strong> quizás la primera barrera que te bloquea para empezar <strong>a usar Git son la variedad de comandos nuevos</strong> y algunos de los <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/stashing-con-git">conceptos que hacen a Git tan versátil.</a> Con el <a href="http://try.github.com/">curso de Github</a> podrás empezar a trastear con Git de una forma fácil y segura en el entorno de un navegador sin ninguna complicación adicional que te desvíe del objetivo de <strong>aprender a usar Git</strong>. Todo lo que hagas se verá reflejado en un repositorio (try_git) que crea Github automática en tu cuenta para que vayas incluyendo ficheros de las sucesivas pantallas y luego puedas ver que todo ha sido real.</p>

	<p>El curso está desarrollado directamente por los ingenieros de <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/conociendo-github-el-servicio-donde-alojar-tus-repositorios-git-como-el-nuestro">GitHub</a>, expertos en el asunto, y en colaboración con <a href="http://www.codeschool.com/">Code School</a> que si no conoces te recomiendo que eches un vistazo por su gran cantidad de cursos interactivos sobre tecnología. </p>

	<p>Y como ya hemos hablado más veces en Genbeta Dev, sabedores de las complicaciones de migrar de un sistema de repositorios a otro, también puedes echar un vistazo a <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/subgit-migrar-de-subversion-a-git-sin-quebraderos-de-cabeza">SubGit para migrar fácilmente tus repos</a> y ver los <a href="http://git-scm.com/videos">vídeos de Git <span class="caps"><span class="caps">SCM</span></span></a> donde en formato audiovisual podrás ir ampliando sobre Git.</p>

	<p>
Más información | Curso interactivo <a href="http://try.github.com/">Try Git</a><br />
Vía | <a href="https://github.com/blog/1183-try-git-in-your-browser">GitHub Blog</a><br />

En Genbeta Dev | <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/conociendo-github-el-servicio-donde-alojar-tus-repositorios-git-como-el-nuestro">Conociendo GitHub, el servicio donde alojar tus repositorios Git</a>, <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/stashing-con-git">Manejo de ramas de desarrollo con git</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[SubGit: migrar de Subversion a Git sin quebraderos de cabeza]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/subgit-migrar-de-subversion-a-git-sin-quebraderos-de-cabeza</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/subgit-migrar-de-subversion-a-git-sin-quebraderos-de-cabeza</guid>
      <pubDate>Wed, 30 May 2012 19:03:07 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="SubGit" src="http://img.genbetadev.com/2012/05/650_1000_subgit.png" class="centro_sinmarco" /></p>

	<p><strong>Subversion</strong> y <strong>Git</strong> tienen sus pro y sus contras, pero parece que últimamente Git le está ganando la partida siendo cada vez más popular. Muchas empresas <strong>planean migrar sus repositorios a Git</strong>, aunque aun con cierto temor a no adaptarse bien o, aun peor, perder parte de su código durante el proceso de migración. Para cubrir esa necesidad de una transición tranquila entre un sistema de repositorios a otro surge <strong>SubGit</strong>.</p>

	<p>Su <strong>comportamiento es prácticamente transparente para los usuarios</strong> que seguirán utilizando cualquiera de los dos sistemas de sincronización, mientras SubGit se encarga de la sincronización entre ambos manteniéndose al día. En cualquier momento se puede quitar uno de ellos quedándonos con el elegido.</p>

	<p><!--more--></p>

	<p>Con <strong>SubGit</strong> no es necesario cambiar la configuración actual y podremos usar todas las funcionalidades de Git o Subversion aun teniendo a SubGit instalado. </p>

	<p>Existen <strong>otras alternativas</strong> que surgieron de esta necesidad de <em>entrenar</em> a los usuarios durante el cambio de repositorios. Uno de ellos es <a href="http://schacon.github.com/git/git-svn.html">Git-Svn</a> que de base sirve para los mismo que SubGit, aunque <a href="http://subgit.com/documentation/gitsvn.html">viendo su comparativa</a> parece que SubGit le gana por goleada. Mientras que para Git-Svn los desarrolladores deben aprender a usarlo, en SubGit los desarrolladores sólo se deben preocupar de aprender Git.</p>

	<p>¿Os animáis más a cambiar a Git usando este tipo de herramientas?</p>

	<p>Más información | <a href="http://subgit.com/">SubGit</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Cliente oficial de GitHub para Windows]]></title>
      <link>http://www.genbetadev.com/sistemas-de-control-de-versiones/ciente-oficial-de-github-para-windows</link>
      <guid>http://www.genbetadev.com/sistemas-de-control-de-versiones/ciente-oficial-de-github-para-windows</guid>
      <pubDate>Sun, 27 May 2012 12:55:33 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="github para windows" src="http://img.genbetadev.com/2012/05/650_1000_clone-in-windows-button.png" class="centro" /></p>

	<p><strong>GitHub for Windows</strong> es un cliente 100% nativo que se ejecuta en Windows XP, Vista, 7 y 8. El lanzamiento de esta herramienta viene a cubrir la necesidad de simplificar la barrera de entrada que suponía Git para muchos de los usuarios de Windows que usan los repositorios de GitHub, según cifras de la compañía representan alrededor de la mitad del tráfico de la web. </p>

	<p>Quizás muchos nos vemos obligados en nuestros lugares de trabajo a utilizar entornos windows por lo que este cliente nos va a facilitar algunas de <strong>las acciones más comunes desde su interfaz gráfica</strong> con los repositorios Git, tanto locales como los alojados en GitHub.</p>

	<p><!--more--></p>

<h2>Funcionalidades sobre repositorios Git locales y remotos</h2>

	<p>Lo que más llama la atención es botón <strong>“Clone in Windows”</strong> que a partir de ahora nos encontraremos en todos los proyectos de GitHub, por supuesto cuando usemos un ordenador con Windows. Este botón nos permitirá clonar repositorios directamente desde la propia aplicación.</p>

	<p>La aplicación está diseñada usando la interfaz Metro de Windows. Nada más instalarla nos pedirá nuestro usuario de <strong>Github</strong> con lo que nos permitirá consultar y realizar las acciones más comunes sobre los repositorios que tengamos alojados o estemos siguiendo en <strong>GitHub</strong>. Tanto buscar y checkear branches, crear y publicar branches, hacer merge o borrarlos. </p>

	<p>Además buscará en nuestro equipo los repositorios locales de Git que podremos administrar desde allí también y si queremos subir a GitHub fácilmente.</p>

<h2>Implementación del cliente Windows de GitHub</h2>

	<p>La aplicación está <strong>desarrollada en C# y ha usado una gran variedad de proyectos open source</strong> para crear una herramienta sencilla para administrar nuestros repositorios den GitHub. Entre ellos se encuentre <a href="https://github.com/libgit2/libgit2">libgit2</a> que proporciona un clara y potente <span class="caps">API</span> para interactuar con repositorios Git, <a href="https://github.com/msysgit/msysgit">msysGit</a> que es una poderosa herramienta para gestionar Git desde línea de comandos que incluye por debajo la aplicación, además de la poderosa shell desarrollada por Keith Dahlby conocida como <a href="https://github.com/dahlbyk/posh-git">posh-git</a>. Y como no podía faltar hace uso de la <a href="http://developer.github.com/"><span class="caps">API</span> de GitHub v3</a> que podemos encontrar en su página de desarrolladores.</p>

	<p>Más información | <a href="http://windows.github.com/">GitHub para Windows</a><br />
Vía | <a href="http://windows.github.com/">GitHub Blog</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Otro que cae en las garras de Github, Django ]]></title>
      <link>http://www.genbetadev.com/frameworks/otro-que-cae-en-las-garras-de-github-django</link>
      <guid>http://www.genbetadev.com/frameworks/otro-que-cae-en-las-garras-de-github-django</guid>
      <pubDate>Tue, 01 May 2012 15:08:49 +0000</pubDate>

      <author>Fernando Siles</author>
      <description><![CDATA[
      <p><img alt="django github" src="http://img.genbetadev.com/2012/05/650_1000_Captura de pantalla 2012-05-01 a las 18.59.15.png" class="centro_sinmarco" /></p>

	<p>Y con <strong>Django</strong> no nos referimos, claro está, ni al <a href="http://es.wikipedia.org/wiki/Dyango">afamado cantante español</a> ni al popular personaje del <a href="http://www.imdb.com/title/tt0060315/">spaguetti-western</a> interpretado por Franco Nero. No, nada de eso, Django es el poderoso y cada día más conocido <strong>framework de desarrollo web en Python</strong> (por ejemplo, el chico de moda <a href="http://www.genbetadev.com/python/las-tecnologias-que-usa-el-hype-del-momento-pinterest">Pinterest lo lleva en sus entrañas</a>) y que en los últimos días <strong>ha abandonado definitivamente Subversión</strong>, sistema de control de versiones que utiliza desde sus albores, allá por 2005, para pasarse a Git y <strong>compartir su código en Github</strong>.</p>

	<p>De hecho la gente del <a href="https://www.djangoproject.com/">Django Project</a> ya tenía un repositorio en Github pero lo que compartían eran versiones siempre muy antiguas y desfasadas de su código. Ahora eso ha cambiado y han decidido unirse al gran <em>hype</em> que hay alrededor de este popular repositorio de código por lo que todos los <em>pythonistas</em> pueden encontrar a partir de ahora <strong>versiones muy actualizadas y calentitas con las que jugar</strong>.</p>

	<p>Y lo cierto es que, después de echarle un vistazo a este repositorio en Github de Django, esta gente tiene <strong>un código de mucha calidad</strong>. Realmente da gusto, si te gusta leer código (oye, cada uno tiene sus vicios), pasearte por su árbol de ficheros e ir abriendo cada uno e indagando en él (aunque, como es mi caso, ni siquiera tengas gran idea de Python). Un gran trabajo al que ahora <strong>todos podemos acceder y contribuir</strong>. </p>

	<p>Vía | <a href="http://net.tutsplus.com/articles/news/recently-in-web-development-april-%E2%80%9912-edition/">Nettus+</a><br />
Descarga | <a href="https://github.com/django/django">Github</a><br />
En Genbeta Dev | <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/otro-proyecto-mas-que-migra-a-github-ahora-spring-framework">Otro proyecto más que migra a GitHub: ahora Spring Framework</a></p>      ]]></description>
      </item>
        	  <atom:link href="http://www.genbetadev.com/categoria/sistemas-de-control-de-versiones/rss2.xml" rel="self" type="application/rss+xml" />
	</channel>

</rss>


