Guía de Git y GitHub para estudiantes universitarios
Si estudias ingeniería en sistemas en Honduras, Git no es opcional. Es la herramienta de control de versiones que usa toda la industria, desde startups en San Pedro Sula hasta empresas de tecnología en Silicon Valley. Y si vas a trabajar en equipo para tu proyecto de graduación, necesitas saber usarlo.
Esta guía te lleva desde cero hasta tener un flujo de trabajo profesional con Git y GitHub.
Qué es Git y por qué importa
Git es un sistema de control de versiones. Registra cada cambio que haces en tu código, te permite regresar a versiones anteriores y facilita el trabajo en equipo sin que se sobreescriban archivos.
Sin Git: "proyecto-final.zip", "proyecto-final-v2.zip", "proyecto-final-DEFINITIVO.zip", "proyecto-final-AHORA-SI.zip".
Con Git: Un repositorio con historial completo de cambios, cada uno con fecha, autor y descripción.
GitHub es la plataforma donde subes tu repositorio de Git a la nube. Funciona como respaldo, portafolio y herramienta de colaboración.
Instalación
Windows: Descarga Git desde git-scm.com e instala con las opciones por defecto.
Mac: Abre la terminal y ejecuta git --version. Si no está instalado, macOS te ofrecerá instalarlo automáticamente.
Linux: sudo apt install git en Ubuntu/Debian o sudo dnf install git en Fedora.
Después de instalar, configura tu identidad:
git config --global user.name "Tu Nombre"
git config --global user.email "tu@email.com"
Los 10 comandos que necesitas
1. git init
Inicializa un repositorio nuevo en tu carpeta de proyecto.
cd mi-proyecto
git init
2. git status
Muestra el estado actual: qué archivos cambiaron, cuáles están listos para commit y cuáles no están siendo rastreados.
git status
Ejecuta este comando constantemente. Es tu brújula.
3. git add
Prepara archivos para el próximo commit. Puedes agregar archivos específicos o todos los cambios.
git add archivo.js # Un archivo especifico
git add src/ # Una carpeta completa
git add . # Todo lo que cambio
4. git commit
Guarda una versión de tu código con un mensaje descriptivo.
git commit -m "Agrega formulario de registro de pacientes"
Regla de oro: El mensaje debe describir QUÉ hiciste, no CÓMO. "Agrega validación de correo" es mejor que "Cambié el archivo utils.js".
5. git log
Muestra el historial de commits.
git log --oneline
6. git remote add
Conecta tu repositorio local con GitHub.
git remote add origin https://github.com/tu-usuario/tu-proyecto.git
7. git push
Sube tus commits a GitHub.
git push origin main
8. git pull
Descarga los cambios más recientes de GitHub a tu máquina.
git pull origin main
9. git branch y git checkout
Crea y cambia entre ramas. Las ramas te permiten trabajar en funcionalidades separadas sin afectar el código principal.
git branch nueva-funcionalidad # Crear rama
git checkout nueva-funcionalidad # Cambiar a esa rama
git checkout -b otra-funcionalidad # Crear y cambiar en un solo comando
10. git merge
Combina los cambios de una rama con otra.
git checkout main # Ir a la rama principal
git merge nueva-funcionalidad # Traer los cambios de la rama
Flujo de trabajo para equipos
Si trabajas con compañeros de clase (como en cualquier proyecto de UNAH, UNITEC, UTH o CEUTEC), sigue este flujo:
Paso 1: Un miembro del equipo crea el repositorio en GitHub y agrega a los demás como colaboradores (Settings > Collaborators).
Paso 2: Cada miembro clona el repositorio:
git clone https://github.com/equipo/proyecto.git
Paso 3: Para cada funcionalidad, crea una rama con nombre descriptivo:
git checkout -b feature/modulo-reportes
Paso 4: Trabaja en tu rama, haz commits frecuentes con mensajes claros.
Paso 5: Cuando termines, sube tu rama y crea un Pull Request en GitHub:
git push origin feature/modulo-reportes
Paso 6: Otro miembro del equipo revisa el Pull Request y lo aprueba. Entonces se hace merge a main.
Este flujo evita conflictos, mantiene un historial limpio y demuestra trabajo en equipo — algo que tu jurado va a valorar.
El archivo .gitignore
Hay archivos que NO deben subirse a GitHub: credenciales, archivos temporales, carpetas de dependencias. El archivo .gitignore le dice a Git que ignore esos archivos.
Ejemplo para un proyecto de Node.js:
node_modules/
.env
.DS_Store
dist/
Ejemplo para un proyecto de Flutter:
.dart_tool/
build/
.env
*.g.dart
Busca plantillas de .gitignore en github.com/github/gitignore según tu lenguaje.
Buenas prácticas
Commits pequeños y frecuentes. No hagas un solo commit con todo el proyecto. Haz commits por funcionalidad: "Agrega modelo de usuario", "Implementa autenticación", "Agrega pruebas unitarias".
Mensajes descriptivos. "fix" o "cambios" no sirven. Describe la acción: "Corrige validación de fecha en formulario de citas".
No subas credenciales. Si tu proyecto usa claves de API, ponlas en un archivo .env y agrégalo a .gitignore. Nunca las escribas directamente en el código.
Usa ramas. Nunca trabajes directamente en main. Cada funcionalidad va en su propia rama.
Haz Pull Requests. Incluso si trabajas solo, los Pull Requests crean un registro de revisiones que demuestra proceso de desarrollo.
Errores comunes de estudiantes
- Subir node_modules o build/ — Esto llena tu repositorio con miles de archivos innecesarios. Usa .gitignore
- Un solo commit al final — Tu asesor verá un solo commit gigante y sabrá que lo hiciste de último momento
- Mensajes como "asdasd" o "final final" — No es profesional y demuestra desorden
- No usar ramas — Trabajar todos en main causa conflictos constantes
- Subir credenciales — Una vez que una clave está en el historial de Git, eliminarla es complicado
GitHub como portafolio
Tu perfil de GitHub es tu currículum de desarrollador. Las empresas en Honduras revisan GitHub al contratar. Mantenlo activo:
- Agrega un README a tu perfil
- Pon descripciones claras en tus repositorios
- Usa topics/tags para categorizar tus proyectos
- Haz contribuciones regulares (el gráfico de actividad importa)
En Folium Labs usamos Git en todos nuestros proyectos de desarrollo. Si necesitas ayuda configurando el repositorio de tu proyecto de tesis o quieres que tu equipo trabaje con un flujo profesional, hablemos.
Git no es solo una herramienta académica — es una habilidad profesional. Dominarlo ahora te dará ventaja al buscar tu primer empleo en desarrollo.
¿Necesitas ayuda con tu proyecto?
Nuestro equipo puede encargarse de tu tesis, investigación o proyecto tecnológico.