<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CROBF</title>
    <description>The latest articles on DEV Community by CROBF (@crobf).</description>
    <link>https://dev.to/crobf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3254700%2F35b7451d-a702-4ced-a7b8-fe301442e64b.jpeg</url>
      <title>DEV Community: CROBF</title>
      <link>https://dev.to/crobf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crobf"/>
    <language>en</language>
    <item>
      <title>Introducción a Git: Aprende rápido</title>
      <dc:creator>CROBF</dc:creator>
      <pubDate>Sat, 14 Jun 2025 02:22:09 +0000</pubDate>
      <link>https://dev.to/crobf/introduccion-a-git-aprende-rapido-3cn5</link>
      <guid>https://dev.to/crobf/introduccion-a-git-aprende-rapido-3cn5</guid>
      <description>&lt;p&gt;Git es una de las herramientas más importantes en el desarrollo de software. Este sistema de control de versiones distribuido permite gestionar proyectos de manera ordenada, rastrear cambios en los archivos, revertir errores y colaborar con otros de forma eficiente. Si eres nuevo en Git o quieres afianzar tus conocimientos básicos, esta guía te ayudará a comprender su funcionamiento y a dominar los comandos esenciales.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es Git?
&lt;/h2&gt;

&lt;p&gt;Git es un sistema diseñado para manejar proyectos de software, especialmente cuando múltiples desarrolladores están trabajando en ellos simultáneamente. Imagina un gran equipo escribiendo un libro: cada persona trabaja en diferentes capítulos, corrige errores y guarda copias. Sin un sistema que organice esto, el caos sería inevitable. Aquí es donde entra Git.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Por qué es tan útil?
&lt;/h3&gt;

&lt;p&gt;Git ofrece varios beneficios clave:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Historial de cambios&lt;/strong&gt;: Permite ver cada modificación realizada a lo largo del tiempo y quién la hizo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reversión de errores&lt;/strong&gt;: Puedes deshacer cambios problemáticos y volver a un estado anterior del proyecto.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Colaboración eficiente&lt;/strong&gt;: Varias personas pueden trabajar en el mismo proyecto sin sobrescribir el trabajo de los demás gracias a las ramas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fusión de contribuciones&lt;/strong&gt;: Combina cambios realizados por diferentes colaboradores en un único flujo de trabajo.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Los Conceptos Clave en Git
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Repositorio
&lt;/h3&gt;

&lt;p&gt;Un &lt;strong&gt;repositorio&lt;/strong&gt; es el núcleo de Git, donde se almacena toda la información sobre tu proyecto, incluido el historial de cambios. Los repositorios pueden ser locales (en tu máquina) o remotos (almacenados en un servidor).&lt;/p&gt;

&lt;h3&gt;
  
  
  Archivos en Git: Tres estados principales
&lt;/h3&gt;

&lt;p&gt;Los archivos en un repositorio Git pasan por tres estados diferentes durante el flujo de trabajo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Untracked (No rastreados)&lt;/strong&gt;: Son nuevos archivos que aún no están bajo el control de Git.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staged (En el área de preparación)&lt;/strong&gt;: Archivos listos para ser confirmados en un commit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Committed (Confirmados)&lt;/strong&gt;: Archivos que han sido guardados en el historial del repositorio.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Commits
&lt;/h3&gt;

&lt;p&gt;Un &lt;strong&gt;commit&lt;/strong&gt; es un punto de control en el proyecto. Representa un estado del código en un momento específico y va acompañado de un mensaje que describe los cambios realizados.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ramas
&lt;/h3&gt;

&lt;p&gt;Las &lt;strong&gt;ramas&lt;/strong&gt; son líneas paralelas de desarrollo. Permiten trabajar en diferentes características o soluciones de errores sin afectar la rama principal.&lt;/p&gt;




&lt;h2&gt;
  
  
  Flujo de Trabajo Básico en Git
&lt;/h2&gt;

&lt;p&gt;Un flujo típico de trabajo con Git se compone de varios pasos clave. Vamos a desglosarlos para que puedas entender cada uno:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Clonar un repositorio existente
&lt;/h3&gt;

&lt;p&gt;Si estás colaborando en un proyecto que ya tiene un repositorio remoto, el primer paso es clonar una copia en tu máquina local:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone &amp;lt;URL_DEL_REPOSITORIO&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto creará una copia exacta del repositorio en tu sistema.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Crear una nueva rama
&lt;/h3&gt;

&lt;p&gt;Para evitar trabajar directamente en la rama principal (&lt;code&gt;main&lt;/code&gt; o &lt;code&gt;master&lt;/code&gt;), crea una nueva rama para tus cambios. Esto mantiene el historial de commits limpio y organizado.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; &amp;lt;nombre-de-la-rama&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Por ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; feature/nueva-funcionalidad
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Hacer cambios y añadirlos al área de preparación
&lt;/h3&gt;

&lt;p&gt;Edita los archivos del proyecto como desees. Luego, selecciona qué cambios quieres incluir en el próximo commit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Para añadir un archivo específico:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  git add &amp;lt;archivo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Para añadir todos los archivos modificados:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Crear un commit
&lt;/h3&gt;

&lt;p&gt;Un commit captura el estado actual de los archivos añadidos. Asegúrate de escribir un mensaje claro y descriptivo sobre lo que cambiaste:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Implementa nueva funcionalidad X"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Actualizar tu rama con los últimos cambios
&lt;/h3&gt;

&lt;p&gt;Si otros han realizado cambios en la rama principal mientras trabajabas, actualiza tu rama para integrar esos cambios antes de subir los tuyos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git pull origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Subir los cambios al repositorio remoto
&lt;/h3&gt;

&lt;p&gt;Cuando estés listo, comparte tus cambios con el equipo subiendo tu rama al repositorio remoto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push origin &amp;lt;nombre-de-la-rama&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Profundizando en los Conceptos de Git
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ver el estado de los archivos
&lt;/h3&gt;

&lt;p&gt;Siempre que tengas dudas sobre qué archivos han cambiado o en qué estado están, usa el comando &lt;code&gt;git status&lt;/code&gt;. Por ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando te muestra:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Archivos no rastreados (en rojo).&lt;/li&gt;
&lt;li&gt;Archivos preparados para commit (en verde).&lt;/li&gt;
&lt;li&gt;Archivos modificados pero no preparados (en blanco).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Visualizar el historial de commits
&lt;/h3&gt;

&lt;p&gt;El historial te ayuda a entender qué cambios se han realizado y quién los hizo. Usa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para un historial más compacto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Comparar cambios
&lt;/h3&gt;

&lt;p&gt;Si deseas ver exactamente qué cambió en un archivo, utiliza:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Revertir cambios
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cambios no preparados&lt;/strong&gt;: Si modificaste un archivo pero no quieres conservar los cambios, vuelve al último commit con:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git checkout &lt;span class="nt"&gt;--&lt;/span&gt; &amp;lt;archivo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cambios preparados&lt;/strong&gt;: Si ya añadiste un archivo al área de preparación y quieres deshacerlo:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git reset &amp;lt;archivo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deshacer un commit&lt;/strong&gt;: Si hiciste un commit por error:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git reset &lt;span class="nt"&gt;--soft&lt;/span&gt; HEAD~1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Comandos Avanzados y Consejos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Crear un alias para comandos comunes
&lt;/h3&gt;

&lt;p&gt;Ahorra tiempo configurando atajos para comandos frecuentes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.st status
git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.ci commit
git config &lt;span class="nt"&gt;--global&lt;/span&gt; alias.br branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora puedes usar &lt;code&gt;git st&lt;/code&gt; en lugar de &lt;code&gt;git status&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Resolver conflictos al fusionar ramas
&lt;/h3&gt;

&lt;p&gt;Cuando dos ramas tienen cambios que afectan las mismas líneas de código, Git genera un conflicto. Para resolverlo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Abre los archivos marcados con conflictos.&lt;/li&gt;
&lt;li&gt;Edita el archivo para decidir qué cambios conservar.&lt;/li&gt;
&lt;li&gt;Marca el conflicto como resuelto:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git add &amp;lt;archivo&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Crea un commit para finalizar la fusión.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Resumen del Flujo Completo
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Clonar un repositorio&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git clone &amp;lt;URL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Crear y cambiar a una nueva rama&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; &amp;lt;rama&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hacer cambios, añadir y confirmar&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git add &lt;span class="nb"&gt;.&lt;/span&gt;  
   git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Cambios realizados"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Actualizar desde la rama principal&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git pull origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Subir los cambios al remoto&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   git push origin &amp;lt;rama&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Consejos Finales para Principiantes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Haz commits pequeños y frecuentes&lt;/strong&gt;: Esto facilita identificar errores y revertir cambios si es necesario.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usa ramas para cada tarea&lt;/strong&gt;: Evita mezclar funcionalidades o correcciones en una misma rama.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aprende a resolver conflictos&lt;/strong&gt;: Son comunes en equipos grandes, pero fáciles de manejar con práctica.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practica en un repositorio local&lt;/strong&gt;: Familiarízate con los comandos antes de trabajar en proyectos reales.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;¡Con este conocimiento, ya estás listo para usar Git y gestionar proyectos como un profesional!&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
