<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Salvador G. Mendez &#187; Git</title>
	<atom:link href="http://www.sgmendez.com/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sgmendez.com</link>
	<description>Blog de un webmaster</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:45:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Control de versiones</title>
		<link>http://www.sgmendez.com/2008/12/05/control-de-versiones/</link>
		<comments>http://www.sgmendez.com/2008/12/05/control-de-versiones/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 10:09:27 +0000</pubDate>
		<dc:creator>Salvador Mendez</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Monotone]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Torvalds]]></category>
		<category><![CDATA[versiones]]></category>

		<guid isPermaLink="false">http://www.sgmendez.com/?p=181</guid>
		<description><![CDATA[Todo aquel que se haya tenido que enfrentar a un desarrollo en el que participan varios programadores se habrá encontrado con el mismo problema: ¿quién tiene la versión buena?
Y esto deriva en varios problemas más: ¿dónde aplico el cambio? ¿hás modificado tal fichero? ¿has terminado esa parte? y, sobre todo, que ocurre cuando alguien comete [...]]]></description>
			<content:encoded><![CDATA[<p>Todo aquel que se haya tenido que enfrentar a un desarrollo en el que participan varios programadores se habrá encontrado con el mismo problema: ¿quién tiene la versión buena?</p>
<p>Y esto deriva en varios problemas más: ¿dónde aplico el cambio? ¿hás modificado tal fichero? ¿has terminado esa parte? y, sobre todo, que ocurre cuando alguien comete un error y tardamos días en darnos cuenta, ¿cómo volvemos atrás?</p>
<p>La solución en estos casos es un contol de versiones, basicamente lo que permite es tener una copia actualizada del trabajo sobre un servidor (repositorio) y una copia guardada de cada cambio subido al repositorio (versiones). Cada vez que alguien quiera continuar el trabajo debe bajarse una copia del repositorio actualizada, trabajar sobre ella y luego subir los cambios al servidor, creando una nueva versión.</p>
<p>Aunque son bastante evidentes, estas son algunas de las ventajas de trabajar con un control de versiones:</p>
<ul>
<li>Tener un control exacto sobre cual es la última versión del código, y quién y cuando la ha cargado.</li>
<li>Poder comparar versiones, viendo cuales han sido los cambios realizados.</li>
<li>Regresar atrás (a una vesión anterior) cuando lo que hemos desarrollado no nos ha dado los resultados esperados.</li>
<li>Crear distintas ramas del proyecto. Si llegado a un punto se hace necesario hacer dos aplicaciones con distintas funcionalidades, pero con cosas en común, se pueden separar en dos ramas.</li>
</ul>
<p>Obviamente hay más ventajas del control de versiones, pero creo que sólo por las cuatro anteriores merece la pena usar cualquier sistema gestor de control de versiones.</p>
<p>Entre los sistemas de control de versiones destacaría los tres siguientes:</p>
<ul>
<li><a href="http://es.wikipedia.org/wiki/CVS" target="_blank">CSV (Concurrent Version System)</a>: Desarrollado por GNU se distribuye bajo licencia GPL. Fue muy popular hasta la aparición de Subversion.</li>
<li><a href="http://es.wikipedia.org/wiki/Subversion" target="_blank">SVN (Subversion)</a>: Hoy es el más popular, fue creado para mejorar CVS, mejorando sobre todo el manejo de archivos binarios.</li>
<li><a href="http://es.wikipedia.org/wiki/Git" target="_blank">Git</a>: Diseñado por Linus Torvalds, es usado por el desarrollo del kernel de Linux, aunque no alcanza la popularidad de los otros dos.</li>
<li><a href="http://es.wikipedia.org/wiki/Mercurial" target="_blank">Mercurial</a>: Un gestor de vesiones para entornos distribuidos sin necesidad de usar un servidor.</li>
<li><a href="http://es.wikipedia.org/wiki/Monotone" target="_blank">Monotone</a>: Al igual que Mercurial no usa servidor, cada cliente hace al mismo tiempo de cliente y servidor.</li>
</ul>
<p>Más información: <a href="http://es.wikipedia.org/wiki/Categor%C3%ADa:Sistemas_de_Control_de_Versiones" target="_blank">Wikipedia [Control de Versiones]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgmendez.com/2008/12/05/control-de-versiones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

