Git y GitHub para principiantes: guía desde cero
Qué son Git y GitHub, cómo crear un repositorio, guardar versiones de un proyecto, trabajar con ramas y subir tus archivos a GitHub.
Contenido de la guía
Git permite guardar el historial de un proyecto, comparar cambios y regresar a versiones anteriores. GitHub permite almacenar repositorios en Internet y colaborar con otras personas.
Estas herramientas son muy utilizadas en programación, desarrollo web y proyectos tecnológicos.
¿Qué es el control de versiones?
El control de versiones es un sistema que registra los cambios realizados en los archivos de un proyecto.
Permite saber:
- Qué archivos fueron modificados.
- Cuándo se realizó cada cambio.
- Quién realizó una modificación.
- Qué contenía una versión anterior.
- Cómo recuperar una versión estable.
- Cómo combinar el trabajo de varias personas.
En lugar de crear archivos como
proyecto-final.html,
proyecto-final-2.html y
proyecto-final-ahora-si.html,
Git conserva un historial organizado.
¿Qué es Git?
Git es un sistema de control de versiones distribuido. Se instala en la computadora y permite registrar los cambios de un proyecto.
Git puede funcionar sin conexión a Internet porque el historial se guarda localmente.
Conserva versiones importantes del proyecto.
Permite desarrollar cambios separados.
Ayuda a revisar qué líneas fueron modificadas.
Facilita volver a estados anteriores.
Consulta también: ¿Qué son Git y GitHub?
¿Qué es GitHub?
GitHub es una plataforma en línea que permite alojar repositorios Git.
También incluye herramientas para:
- Compartir proyectos.
- Colaborar con otras personas.
- Revisar cambios.
- Informar errores o tareas.
- Documentar proyectos.
- Mostrar trabajos dentro de un portafolio.
- Automatizar procesos de desarrollo.
Git controla las versiones. GitHub almacena y facilita la colaboración sobre repositorios Git.
Diferencias entre Git y GitHub
Es un programa instalado en la computadora.
Controla versiones y funciona localmente.
Es una plataforma disponible en Internet.
Aloja repositorios y facilita la colaboración.
Git es la herramienta que organiza el historial. GitHub es el lugar donde puedes guardar y compartir una copia remota del repositorio.
Instalar y configurar Git
Después de instalar Git, puedes comprobar su versión desde la terminal:
git --version
Configurar el nombre
git config --global user.name "Tu nombre"
Configurar el correo
git config --global user.email "correo@ejemplo.com"
Esta información se asocia con los commits creados desde tu computadora.
Consultar la configuración
git config --list
El correo puede quedar registrado dentro del historial del repositorio.
Crear un repositorio Git
Primero abre la terminal dentro de la carpeta de tu proyecto.
cd mi-proyecto
Después ejecuta:
git init
Git creará una carpeta oculta llamada:
.git
Esa carpeta contiene la información necesaria para administrar el historial.
Si la borras, el proyecto dejará de estar conectado con su historial local.
Revisar el estado del proyecto
El comando más importante para comenzar es:
git status
Este comando puede mostrar:
- Archivos nuevos.
- Archivos modificados.
- Archivos preparados para guardar.
- La rama actual.
- El estado respecto al repositorio remoto.
Te ayuda a comprender qué cambios serán incluidos antes de crear un commit.
Preparar archivos y crear un commit
Un commit representa una versión guardada del proyecto.
Preparar un archivo
git add index.html
Preparar todos los cambios
git add .
Este comando prepara todos los cambios dentro de la carpeta actual.
Crear el commit
git commit -m "Agregar sección de contacto"
El mensaje debe explicar brevemente qué cambio contiene la versión.
git commit -m "cambios"
git commit -m "Corregir menú móvil"
Consultar el historial
Para ver los commits realizados:
git log
Para obtener una vista resumida:
git log --oneline
El resultado puede verse así:
a12bc34 Agregar sección de contacto
83df210 Crear estructura inicial
4a9ce10 Iniciar proyecto
Consultar cambios sin guardar
git diff
Este comando muestra diferencias entre los archivos modificados y la última versión guardada.
Trabajar con ramas
Una rama permite desarrollar cambios separados sin modificar inmediatamente la versión principal.
git branch nueva-seccion
git switch nueva-seccion
También puedes crear y cambiar de rama al mismo tiempo:
git switch -c nueva-seccion
Consultar las ramas
git branch
Un asterisco indica la rama actual.
* nueva-seccion
main
Fusionar cambios
Cuando el trabajo de una rama esté terminado, puede combinarse con la rama principal.
Guarda los cambios
git add .
git commit -m "Crear nueva sección"
Regresa a la rama principal
git switch main
Fusiona la rama
git merge nueva-seccion
Conflictos
Un conflicto puede ocurrir cuando dos versiones modifican la misma parte de un archivo.
Debes abrir el archivo, revisar las versiones, elegir el contenido correcto y guardar nuevamente.
Crear un repositorio en GitHub
Después de iniciar sesión en GitHub, crea un repositorio nuevo.
Normalmente deberás definir:
- Nombre del repositorio.
- Descripción opcional.
- Visibilidad pública o privada.
- Archivo README opcional.
- Archivo .gitignore opcional.
- Licencia opcional.
Revisa que el proyecto no contenga contraseñas, claves de API, archivos personales o datos sensibles.
Conectar el proyecto local con GitHub
Git utiliza el concepto de repositorio remoto para conectarse con una copia alojada en Internet.
git remote add origin URL-DEL-REPOSITORIO
Puedes comprobar la conexión mediante:
git remote -v
Para establecer el nombre de la rama principal:
git branch -M main
Enviar el proyecto por primera vez
git push -u origin main
La opción -u establece la relación entre
la rama local y la rama remota.
Clone, pull y push
git clone
Descarga una copia completa de un repositorio.
git clone URL-DEL-REPOSITORIO
git pull
Descarga e integra cambios del repositorio remoto.
git pull
git push
Envía los commits locales hacia el repositorio remoto.
git push
Descarga el repositorio completo por primera vez.
Obtiene cambios nuevos del repositorio remoto.
Envía los commits locales hacia GitHub.
README y .gitignore
README.md
El archivo README explica el objetivo y funcionamiento del proyecto.
# Mi proyecto
Página creada para practicar HTML, CSS y JavaScript.
## Funciones
- Diseño responsive
- Modo oscuro
- Formulario de contacto
GitHub interpreta archivos Markdown y los muestra dentro de la página principal del repositorio.
.gitignore
El archivo .gitignore indica qué archivos
o carpetas Git no debe registrar.
node_modules/
.env
archivos-temporales/
*.log
Si un archivo privado ya fue agregado al historial, incluirlo después en .gitignore no elimina las versiones anteriores.
Flujo de trabajo recomendado
Revisa el estado
git status
Trabaja en cambios pequeños
Evita modificar demasiadas funciones al mismo tiempo.
Revisa las diferencias
git diff
Prepara los archivos
git add archivo.html
Crea un commit claro
git commit -m "Mejorar diseño móvil"
Sincroniza el repositorio
git pull
git push
Errores frecuentes
- No ejecutar Git dentro de la carpeta correcta.
- Olvidar guardar los archivos antes del commit.
- No revisar el resultado de git status.
- Crear commits con mensajes poco claros.
- Agregar archivos privados al repositorio.
- Realizar demasiados cambios en un solo commit.
- Trabajar siempre directamente en la rama principal.
- Enviar cambios sin descargar primero las actualizaciones.
- Eliminar la carpeta .git accidentalmente.
- Confundir Git con GitHub.
Error: no es un repositorio Git
fatal: not a git repository
Puede ocurrir porque la terminal no está ubicada dentro de una carpeta inicializada con Git.
Cambios no incluidos en el commit
Un archivo modificado debe prepararse antes de crear el commit:
git add archivo.html
Push rechazado
Puede ocurrir cuando el repositorio remoto contiene cambios que todavía no existen localmente.
Utiliza git pull con cuidado y resuelve
los posibles conflictos antes de volver a enviar.
Práctica guiada
Crea una carpeta nueva para practicar sin afectar un proyecto importante.
mkdir practica-git
cd practica-git
git init
echo "# Práctica de Git" > README.md
git status
git add README.md
git commit -m "Crear archivo README"
git log --oneline
Agregar un archivo HTML
touch index.html
git status
git add index.html
git commit -m "Agregar página principal"
Crear una rama
git switch -c agregar-estilos
touch style.css
git add style.css
git commit -m "Agregar hoja de estilos"
git switch main
git merge agregar-estilos
Después de cada acción, utiliza
git status para observar cómo cambia el
estado del repositorio.
Preguntas frecuentes
¿Necesito GitHub para utilizar Git?
No. Git puede administrar versiones localmente sin estar conectado a una plataforma.
¿Necesito Git para utilizar GitHub?
Algunas acciones pueden realizarse desde la web, pero Git permite trabajar profesionalmente desde la computadora.
¿Qué es un commit?
Es una versión guardada del proyecto acompañada de un mensaje descriptivo.
¿Qué es una rama?
Es una línea separada de desarrollo que permite trabajar sin modificar inmediatamente la rama principal.
¿Un repositorio debe ser público?
No. GitHub permite crear repositorios públicos y privados.
¿GitHub sirve como copia de seguridad?
Puede conservar una copia remota del proyecto, pero los archivos importantes deberían tener una estrategia adicional de respaldo.
Conclusión
Git permite registrar versiones, comparar cambios, trabajar con ramas y mantener organizado el historial de un proyecto.
GitHub permite almacenar repositorios en Internet, compartirlos y colaborar con otras personas.
Comienza practicando con los comandos
status, add,
commit y log. Después avanza
hacia ramas, repositorios remotos y colaboración.
ByteNova
Plataforma educativa dedicada a explicar programación, desarrollo web, inteligencia artificial y ciberseguridad de manera clara.
Conoce más sobre ByteNova →