🚀 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.
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:
- Abre tu terminal o símbolo del sistema.
- Navega hasta la carpeta donde quieres crear tu proyecto. Usa el comando
cd nombre_carpetapara entrar ycd ..para retroceder. - Crea una carpeta nueva con
mkdir mi-primer-proyecto - Entra en la carpeta con
cd mi-primer-proyecto - 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
- Crea un buen README: La primera impresión cuenta. Incluye una descripción del proyecto, cómo instalarlo y cómo usarlo.
- Haz commits atómicos: Cada commit debe representar un solo cambio lógico. No mezcles corrección de errores con nuevas funcionalidades.
- Escribe mensajes descriptivos: Imagina que alguien leerá tu historial sin ver el código. ¿Entendería qué hiciste?
- 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:
- Haces cambios en tus archivos (working directory)
- Ejecutas
git add para moverlos al staging
- Ejecutas
git commit para guardarlos permanentemente
- 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.