<?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>Git</title>
	<atom:link href="https://samaniel.com/docs-category/desarrollo/git/feed/" rel="self" type="application/rss+xml" />
	<link>https://samaniel.com</link>
	<description></description>
	<lastBuildDate>Thu, 03 Oct 2024 10:31:36 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Uso de Submódulos en Git</title>
		<link>https://samaniel.com/docs/uso-de-submodulos-en-git/</link>
		
		<dc:creator><![CDATA[Samaniel]]></dc:creator>
		<pubDate>Thu, 26 Sep 2024 22:46:19 +0000</pubDate>
				<guid isPermaLink="false">https://samaniel.com/?post_type=docs&#038;p=422</guid>

					<description><![CDATA[Hoy vamos a hablar de una característica poco utilizada de git. ¿Sabías que puedes gestionar dependencias de repositorios en Git [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Hoy vamos a hablar de una característica poco utilizada de git. ¿Sabías que puedes gestionar dependencias de repositorios en Git utilizando <strong>submódulos</strong>?.</p>



<h4 class="wp-block-heading">Características</h4>



<p>En esencia, hay un proyecto padre que es un repositorio. Contiene submódulos, los cuales a su vez también son repositorios por derecho propio, con todas las características propias de un repositorio.</p>



<p>Dentro del repositorio que contenga un submódulo, habrá un archivo <strong>.gitmodules</strong> que define los submódulos.</p>



<h4 class="wp-block-heading">¿Cómo crear y usar un submódulo desde cero?</h4>



<ul class="wp-block-list">
<li><strong>Crear un repositorio principal y el submódulo:</strong></li>
</ul>



<pre class="wp-block-code"><code><code>  git init super-proyecto</code></code></pre>



<ul class="wp-block-list">
<li><strong>Luego, crea el repositorio que será el submódulo:</strong></li>
</ul>



<pre class="wp-block-code"><code><code>  git init mi-submodulo</code></code></pre>



<ul class="wp-block-list">
<li><strong>o bien clónalo:</strong></li>
</ul>



<pre class="wp-block-code"><code>   git submodule add &lt;url-del-submodulo&gt;</code></pre>



<p></p>



<p>Ahora hay dos opciones:</p>



<ul class="wp-block-list">
<li><strong>Si lo has creado con git submodule add</strong> sobre un repositorio online que ya existe, te habrás bajado su contenido a local, y se habrá creado un archivo .gitmodules en el parent. Ya estás listo para hacer commits en el submódulo y subirlos.</li>



<li><strong>Si lo has iniciado manualmente</strong>, crea, el repositorio online y copia la url. Haz el primer commit, y pushea el repositorio que será un submódulo a su correspondiente repositorio online. Ahora deberás posicionarte en la carpeta/repositorio parent y añadir el repositorio como un submódulo. De esta manera crearás el archivo .gitmodules:</li>
</ul>



<pre class="wp-block-code"><code>   git submodule add &lt;url-del-submodulo></code></pre>



<ul class="wp-block-list">
<li><strong>Finalmente</strong>, y de ahora en adelante, cuando hayas subido cambios al repositorio del submódulo, sube a la carpeta superior, en este caso <strong>super-proyecto</strong>, y haz lo mismo con los cambios del submódulo en el repositorio de <strong>super-proyecto</strong>. Esto es necesario porque ambos repositorios son distintos, aunque uno esté conectado dentro de otro.</li>
</ul>



<h2 class="wp-block-heading">Otras operaciones que podrías necesitar</h2>



<ul start="3" class="wp-block-list">
<li><strong>Clonar un repositorio con submódulos</strong>:</li>
</ul>



<pre class="wp-block-code"><code>   git clone --recurse-submodules &lt;url-del-repo&gt;</code></pre>



<ul start="4" class="wp-block-list">
<li><strong>Actualizar submódulos</strong>:</li>
</ul>



<pre class="wp-block-code"><code>   git submodule update --remote</code></pre>



<h2 class="wp-block-heading">Conclusión</h2>



<p>Con los submódulos, puedes mantener tu código modular y reutilizable, utilizando repositorios como dependencias externas de otros repositorios.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
