GitHub
Propósito de la clase
Que el estudiante comprenda cómo utilizar GitHub como plataforma para alojar repositorios remotos, sincronizar un proyecto local con uno remoto y documentar técnicamente un proyecto mediante un archivo README.md.
Aprendizaje esperado
Al finalizar la clase, el estudiante será capaz de:
- Crear una cuenta en GitHub>
- Crear un repositorio remoto>
- Conectar un repositorio local con uno remoto>
- Utilizar los comandos push y pull>
- Elaborar un README.md con información técnica básica del proyecto>
- Publicar correctamente un proyecto y comprobar la sincronización entre entorno local y remoto>
Introducción
Git permite llevar el control de versiones local de un proyecto, mientras que GitHub permite almacenar ese proyecto en la nube mediante un repositorio remoto.
Esto hace posible:
- respaldar avances,
- compartir proyectos,
- colaborar con otras personas,
- recuperar cambios,
- demostrar evidencia técnica del desarrollo de un sistema.
En esta unidad no solo se busca “subir archivos”, sino comprender la relación entre un repositorio local y un repositorio remoto.
1. ¿Qué es GitHub?
GitHub es una plataforma en línea que permite alojar repositorios Git en internet.
Diferencia entre Git y GitHub
- Git
- Sistema de control de versiones instalado en la computadora del usuario.
- GitHub
- Servicio web que permite almacenar, consultar y compartir repositorios Git de manera remota.
- Repositorio local
- Carpeta del proyecto en la computadora del usuario, controlada por Git.
- Repositorio remoto
- Copia del repositorio alojada en GitHub.
2. Conceptos clave de la clase
- Repositorio remoto
- Es el repositorio que se encuentra publicado en GitHub y sirve como punto de sincronización entre uno o más equipos.
- Sincronización
- Es el proceso de enviar o traer cambios entre el repositorio local y el remoto.
- README
- Es un archivo de documentación, normalmente llamado README.md, que describe de forma técnica y general el proyecto.
Push- Envía cambios del repositorio local al remoto.
Pull- Trae cambios del repositorio remoto al local.
3. Requisitos previos
Antes de iniciar esta clase, el estudiante debe contar con:
- una computadora con
Gitinstalado, Sublime Textinstalado,- una carpeta de proyecto local ya creada,
- conexión a internet,
- navegador web,
- una cuenta de correo electrónico activa.
Si el alumno aún no tiene un proyecto, puede usar una carpeta sencilla con archivos como index.html, estilos.css, script.js o cualquier práctica anterior.
4. Creación de cuenta en GitHub
- Paso 1. Ingresar al sitio de GitHub
El alumno debe entrar al sitio oficial de GitHub desde su navegador.
- Paso 2. Registrarse
Debe capturar:
- correo electrónico,
- contraseña,
- nombre de usuario.
- Paso 3. Verificar la cuenta
GitHub puede solicitar una verificación por correo o un reto de seguridad.
Recomendaciones para el nombre de usuario:
- usar un nombre profesional,
- evitar nombres ofensivos o poco formales,
- procurar que sea fácil de identificar.
Ejemplos:
- irving-dev
- juanperez-db
- maria-programacion
La cuenta de GitHub funcionará como identidad digital del estudiante en proyectos tecnológicos.
- 5. Creación de repositorio remoto
Un repositorio remoto se crea directamente desde GitHub.
Elementos que se deben definir al crearlo
- Nombre del repositorio: Nombre del proyecto en GitHub.
- Descripción: Texto breve que explique el propósito del proyecto.
- Visibilidad: Puede ser público o privado.
- Inicialización: GitHub puede crear archivos iniciales como
README,.gitignoreo licencia.
Si el alumno ya tiene un repositorio local creado con archivos y commits, lo más recomendable es crear el repositorio remoto vacío, para evitar conflictos innecesarios al inicio.
Ejemplo de nombre y descripción
-
Nombre del repositorio:
practica-python-basica -
Descripción: Proyecto escolar con ejercicios básicos de programación en Python
-
6. Conexión entre repositorio local y remoto
Cuando el proyecto ya existe en la computadora, se debe enlazar con el repositorio creado en GitHub.
Relación local ↔ remoto
flowchart LR
A[Proyecto local en la computadora] --> B[Git]
B --> C[Repositorio remoto en GitHub]
C --> B
Comandos básicos de conexión
git remote add origin https://github.com/USUARIO/REPOSITORIO.git
git branch -M main
git push -u origin main
Explicación
git remote add origin- Agrega la dirección del repositorio remoto y la identifica con el nombre origin.
git branch -M main- Renombra la rama principal local a main.
git push -u origin main- Envía el contenido local a GitHub y deja configurado el seguimiento entre la rama local y la remota.
- 7. Flujo básico de trabajo con GitHub
El flujo más común será:
- Crear o modificar archivos localmente.
- Guardar cambios con Git mediante add y commit.
- Enviar cambios al repositorio remoto con push.
- Recuperar cambios remotos con pull cuando sea necesario.
Esquema general
flowchart TD
A[Editar archivos] --> B[git add]
B --> C[git commit]
C --> D[git push]
D --> E[Repositorio en GitHub]
E --> F[git pull]
F --> A
- 8. Comandos principales de la clase
a) Verificar estado del proyecto
git status
Muestra los archivos modificados, listos para commit o pendientes de seguimiento.
b) Agregar archivos al área de preparación
git add .
Agrega todos los cambios actuales.
c) Crear un commit
git commit -m "Agrega estructura inicial del proyecto"
Registra un punto de control con un mensaje técnico.
d) Enviar cambios a GitHub
git push
Sube los commits locales al repositorio remoto.
e) Traer cambios desde GitHub
git pull
Descarga y fusiona cambios desde el repositorio remoto.
- 9. README y descripción de proyecto
El archivo README.md es la portada técnica del proyecto.
¿Para qué sirve?
- explicar de qué trata el proyecto,
- indicar su objetivo,
- describir tecnologías usadas,
- documentar estructura y uso,
- mostrar evidencia de formalidad técnica.
Ejemplo de README técnico
# Sistema de Registro Escolar
## Descripción
Proyecto escolar desarrollado para practicar el control de versiones con Git y GitHub.
## Objetivo
Administrar y publicar un proyecto local en un repositorio remoto.
## Tecnologías utilizadas
- HTML
- CSS
- JavaScript
- Git
- GitHub
## Estructura del proyecto
- `index.html`
- `css/estilos.css`
- `js/script.js`
## Autor
Irving
## Versión
1.0
Un buen README.md permite que cualquier persona entienda rápidamente qué hace el proyecto y cómo está organizado.
- 10. Descripción del proyecto en GitHub
Además del README, GitHub permite agregar una descripción breve al repositorio.
Conclusión
GitHub complementa el uso de Git al permitir que un proyecto se publique, respalde y comparta en línea. La sincronización entre repositorio local y remoto es una competencia básica para cualquier estudiante de informática o desarrollo de software. Además, el README.md convierte un conjunto de archivos en un proyecto técnicamente presentable.
Publicar un proyecto en GitHub no solo demuestra conocimiento técnico, también evidencia orden, documentación y buenas prácticas de desarrollo.

Publicación de un proyecto
Supongamos que el alumno ya tiene una carpeta llamada mi_proyecto.
- Paso 1. Entrar a la carpeta>
cd mi_proyecto
- Paso 2. Inicializar Git, si aún no está inicializado>
git init
- Paso 3. Agregar archivos>
git add .
- Paso 4. Crear el primer commit>
git commit -m "Versión inicial del proyecto"
- Paso 5. Conectar con GitHub>
git remote add origin https://github.com/USUARIO/mi_proyecto.git
git branch -M main
git push -u origin main
- Paso 6. Verificar en GitHub>
Revisar que:
- aparezcan los archivos,
- se muestre el
README.md, - exista historial de
commits, - el repositorio tenga nombre y descripción correctos.
Evidencias de sincronización correcta
Para demostrar que la sincronización se realizó correctamente, el estudiante debe demostrar que el proyecto local realmente quedó enlazado y sincronizado con GitHub.
- Verificar conexión con el repositorio remoto
git remote -v
Resultado esperado
Debe aparecer la URL de GitHub.
Ejemplo:
origin https://github.com/usuario/repositorio.git (fetch)
origin https://github.com/usuario/repositorio.git (push)
Si aparece origin, el repositorio local está conectado al remoto.
- Verificar estado del repositorio
git status
Resultado esperado
On branch main
nothing to commit, working tree clean
Indica que no hay cambios pendientes y todo está sincronizado localmente.
- Verificar sincronización con GitHub
git push
Resultado esperado
Everything up-to-date
Significa que no hay cambios pendientes por subir; el repositorio local y remoto están sincronizados.
- Verificar actualización desde remoto
git pull
Resultado esperado
Already up to date.
Confirma que el repositorio local ya tiene los últimos cambios del remoto.
- Verificación visual en GitHub
- El repositorio existe en GitHub
- Los archivos están visibles
- El README.md se muestra correctamente
- Aparece al menos un commit
Errores comunes
Error 1.
Repositorio remoto ya contiene archivos iniciales
Ocurre cuando el repositorio en GitHub fue creado con README y el local ya tenía historial distinto.
Posible solución
Realizar primero:
git pull origin main --allow-unrelated-histories
y después resolver la integración si fuera necesario.
Error 2.
No existe commit inicial
Si se intenta hacer push sin commits, Git no tendrá qué enviar.
Solución
Crear al menos un commit antes de usar push.
Error 3.
URL remota incorrecta
Si la dirección del repositorio está mal escrita, Git no podrá conectar.
Verificación
git remote -v
Error 4.
Rama principal distinta
Algunos proyectos pueden usar master y otros main.
Verificación
git branch
Error 5.
README no aparece
Puede deberse a que no se agregó el archivo al commit.
Solución
git add README.md
git commit -m "Agrega README del proyecto"
git push

Preguntas de repaso
- ¿Qué diferencia hay entre Git y GitHub?
- ¿Qué es un repositorio remoto?
- ¿Para qué sirve el comando git push?
- ¿Para qué sirve el comando git pull?
- ¿Qué función cumple el archivo README.md?
- ¿Qué evidencia demuestra que un proyecto sí quedó sincronizado?
- ¿Qué comando permite verificar la URL del repositorio remoto?
- ¿Por qué es importante escribir mensajes técnicos en los commits?