Creando tu primer repositorio

Lectura
20 min~8 min lectura

🚀 Creando tu Primer Repositorio en Git

Has instalado Git en tu computadora y ahora estás listo para comenzar a controlar las versiones de tu código. En esta lección aprenderás a crear tu primer repositorio, entenderás qué sucede internamente y descubrirás los comandos fundamentales que usarás durante toda tu carrera como desarrollador.

CONCEPTO CLAVE
Un repositorio (o "repo") es simplemente una carpeta que Git monitoriza. Dentro de ella, Git registra cada cambio que realizas en los archivos, permitiéndote revertir modificaciones, comparar versiones y colaborar con otros desarrolladores sin perder trabajo.

📁 ¿Qué es un Repositorio Git?

Cuando inicializas un repositorio, Git crea una carpeta oculta llamada .git que contiene toda la información necesaria para rastrear tu proyecto: el historial de cambios, las ramas, las confirmaciones y la configuración. Tu proyecto puede tener cualquier nombre y contener cualquier tipo de archivos.

Un repositorio Git es como una máquina del tiempo para tu código. Cada vez que confirmas cambios, estás guardando un "snapshot" que puedes recuperar en cualquier momento.

🛠️ Creando tu Primer Repositorio

Vamos a crear un repositorio desde cero. Sigue estos pasos en tu terminal:

  1. Abre tu terminal o símbolo del sistema.
  2. Navega hasta la carpeta donde quieres crear tu proyecto. Usa el comando cd nombre_carpeta para entrar y cd .. para retroceder.
  3. Crea una carpeta nueva con mkdir mi-primer-proyecto
  4. Entra en la carpeta con cd mi-primer-proyecto
  5. Inicializa el repositorio con git init
$ mkdir mi-primer-proyecto
$ cd mi-primer-proyecto
$ git init
Initialized empty Git repository in /home/usuario/mi-primer-proyecto/.git/
📌 El mensaje Initialized empty Git repository confirma que Git ha creado exitosamente el repositorio. Ahora esta carpeta está bajo el control de versiones.

🔍 Verificando el Estado de tu Repositorio

Después de inicializar, puedes verificar qué está pasando con el comando git status. Este es probablemente el comando que más usarás en tu día a día.

$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
💡 Consejo profesional: Ejecuta git status antes y después de cada comando Git. Es tu brújula para entender el estado actual de tu repositorio y evitar cometer errores.

📝 Tu Primera Confirmación (Commit)

Un commit es como guardar una foto instantáneamente de tu proyecto en un momento específico. Para crear tu primer commit necesitas dos pasos: primero agregar archivos al área de preparación (staging), luego confirmarlos.

Paso 1: Crear un archivo

$ echo "Hola, este es mi primer proyecto con Git" > README.md

Paso 2: Agregar al staging area

$ git add README.md
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   README.md

Paso 3: Realizar el commit

$ git commit -m "feat: agregar archivo README con descripción del proyecto"
[master (root-commit) a1b2c3d] feat: agregar archivo README con descripción del proyecto
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
📌 El mensaje después de -m es crucial. Los mensajes de commit bien escritos facilitan enormemente el trabajo en equipo. Sigue la convención de commits semánticos: feat: para nuevas funcionalidades, fix: para correcciones, docs: para documentación.

🌳 Entendiendo el Flujo de Trabajo de Git

Estado Descripción Comando
Working Directory Tu carpeta de trabajo actual Archivos sin modificar
Staging Area Área de preparación para el siguiente commit git add
Repository Historial de commits guardados git commit
CONCEPTO CLAVE
El staging area (o índice) es lo que hace a Git tan poderoso. Te permite elegir exactamente qué cambios quieres incluir en cada commit. Puedes tener cinco archivos modificados y committing solo tres de ellos según la lógica de tus cambios.

👀 Viendo el Historial

Para ver todos los commits que has realizado, usa el comando git log:

$ git log
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0
Author: Tu Nombre <[email protected]>
Date:   Mon Jan 15 10:30:00 2024 +0000

    feat: agregar archivo README con descripción del proyecto
Ver más: Formatos útiles de git log

El comando git log tiene muchas opciones útiles:

  • git log --oneline: Muestra cada commit en una sola línea
  • git log --graph: Muestra un gráfico visual de las ramas
  • git log -n 5: Muestra solo los últimos 5 commits
  • git log --author="nombre": Filtra por autor

✏️ Realizando Cambios y Confirmándolos

Vamos a modificar nuestro archivo README y ver cómo Git detecta los cambios:

$ echo "\nEste proyecto demuestra los fundamentos de Git." >> README.md
$ git status
On branch master
Changes not staged for commit:
  modified:   README.md
💡 Observa cómo Git distingue entre Changes not staged for commit y Changes to be committed. Esta distinción visual te ayuda a entender exactamente qué se guardará en tu próximo commit.

📋 Comandos Esenciales que Debes Dominar

Comando Función Frecuencia de Uso
git init Inicializa un nuevo repositorio Una vez por proyecto
git status Ver estado actual Muy frecuente
git add Agregar archivos al staging Muy frecuente
git commit Confirmar cambios Muy frecuente
git log Ver historial de commits Frecuente
git diff Ver diferencias entre archivos Frecuente

🚫 Errores Comunes que Debes Evitar

⚠️ No ejecutes nunca: git init dentro de un repositorio que ya existe. Esto re-inicializará el repositorio y podría perder tu historial de commits. Si quieres saber si ya tienes un repositorio, busca la carpeta .git con ls -la.
⚠️ Evita commits vacíos: Un commit sin cambios significativos no aporta información útil al historial. Asegúrate de que cada commit represente una unidad lógica de trabajo.

🔄 Atajos Útiles

Si quieres agregar todos los archivos modificados al staging de una vez, puedes usar:

$ git add .
# O también:
$ git add -A
El punto (.) agrega todos los archivos nuevos y modificados, pero no los eliminados. -A incluye también los archivos eliminados.
💡 Combinación rápida: Muchos desarrolladores usan git commit -am "mensaje" para agregar y commitear en un solo paso. Sin embargo, esto solo funciona con archivos que ya fueron trackeados anteriormente, no con archivos nuevos.

🎯 Buenas Prácticas para tu Primer Repositorio

  1. Crea un buen README: La primera impresión cuenta. Incluye una descripción del proyecto, cómo instalarlo y cómo usarlo.
  2. Haz commits atómicos: Cada commit debe representar un solo cambio lógico. No mezcles corrección de errores con nuevas funcionalidades.
  3. Escribe mensajes descriptivos: Imagina que alguien leerá tu historial sin ver el código. ¿Entendería qué hiciste?
  4. Usa .gitignore: Crea este archivo para excluir archivos que no quieres rastrear (como contraseñas, tokens, dependencias descargadas).
# Crear un archivo .gitignore típico para un proyecto Node.js
$ echo "node_modules/" > .gitignore
$ echo ".env" >> .gitignore
$ echo "*.log" >> .gitignore
$ git add .gitignore
$ git commit -m "chore: agregar archivo .gitignore"
CONCEPTO CLAVE
El archivo .gitignore es fundamental en proyectos reales. Git ignorará cualquier archivo o carpeta listada en él, evitando que subas accidentalmente archivos sensibles o dependencias pesadas al repositorio.

📊 Visualizando tu Progreso

Vamos a verificar todo lo que hemos hecho hasta ahora:

$ git log --oneline
a1b2c3d feat: agregar archivo README con descripción del proyecto

$ git status
On branch master
nothing to commit, working tree clean
Ver más: El ciclo completo de trabajo

El ciclo típico de trabajo en Git es:

  1. Haces cambios en tus archivos (working directory)
  2. Ejecutas git add para moverlos al staging
  3. Ejecutas git commit para guardarlos permanentemente
  4. Vuelves al paso 1

Este ciclo se repite durante todo el desarrollo del proyecto y es la base de todo el control de versiones en Git.

❓ Preguntas Frecuentes

📌 ¿Puedo eliminar un repositorio?
Sí, simplemente elimina la carpeta .git con rm -rf .git en Unix o rmdir /s /q .git en Windows. Tu código seguirá ahí, pero sin control de versiones.
📌 ¿Cuántos repositorios puedo tener?
Tantos como necesites. Un proyecto, un repositorio es la práctica recomendada. Cada proyecto debe tener su propio repositorio independiente.
🧠 Quiz

¿Cuál es el orden correcto de los comandos para crear un commit en Git?

  • A) git init → git commit → git add
  • B) git add → git commit → git init
  • C) git init → git add → git commit
  • D) git commit → git add → git init
✅ Respuesta correcta: C) git init → git add → git commit Primero inicializas el repositorio, luego agregas archivos al staging area, y finalmente confirmas los cambios.

🎉 Resumen de la Lección

En esta lección has aprendido a:

  • ✅ Inicializar un repositorio con git init
  • ✅ Entender los tres estados de Git: working directory, staging area y repository
  • ✅ Agregar archivos al staging con git add
  • ✅ Crear commits con git commit
  • ✅ Verificar el estado con git status
  • ✅ Visualizar el historial con git log
  • ✅ Crear un archivo .gitignore
💡 Siguiente paso: En la próxima lección aprenderás a conectar tu repositorio local con GitHub, la plataforma de hosting más popular para repositorios Git. ¡El verdadero poder de Git se desbloquea cuando colaboras con otros!
Practica estos comandos hasta que se sientan naturales. La consistencia en el uso de Git es una habilidad que todo desarrollador profesional debe dominar.