Saltar al contenido principal
ByteNova
Guía de control de versiones

Git y GitHub para principiantes: guía desde cero

Publicado por ByteNova · · Actualizado el

En esta guía aprenderás:

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.
Ejemplo sencillo

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.

Historial

Conserva versiones importantes del proyecto.

Ramas

Permite desarrollar cambios separados.

Comparación

Ayuda a revisar qué líneas fueron modificadas.

Recuperación

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.
GitHub no reemplaza a Git

Git controla las versiones. GitHub almacena y facilita la colaboración sobre repositorios Git.

Diferencias entre Git y GitHub

Git

Es un programa instalado en la computadora.

Controla versiones y funciona localmente.

GitHub

Es una plataforma disponible en Internet.

Aloja repositorios y facilita la colaboración.

Comparación sencilla

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
Utiliza un correo apropiado

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.

No elimines la carpeta .git

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.
Utiliza git status frecuentemente

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 .
Revisa antes de utilizar 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.

Mensaje poco claro
git commit -m "cambios"
Mensaje más útil
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.

Crear una rama
git branch nueva-seccion
Cambiar de rama
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.

1

Guarda los cambios

git add .
git commit -m "Crear nueva sección"
2

Regresa a la rama principal

git switch main
3

Fusiona la rama

git merge nueva-seccion

Conflictos

Un conflicto puede ocurrir cuando dos versiones modifican la misma parte de un archivo.

Git no decide automáticamente qué contenido conservar

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.
No publiques información privada

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
Clone

Descarga el repositorio completo por primera vez.

Pull

Obtiene cambios nuevos del repositorio remoto.

Push

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
No confíes únicamente en .gitignore

Si un archivo privado ya fue agregado al historial, incluirlo después en .gitignore no elimina las versiones anteriores.

Flujo de trabajo recomendado

1

Revisa el estado

git status
2

Trabaja en cambios pequeños

Evita modificar demasiadas funciones al mismo tiempo.

3

Revisa las diferencias

git diff
4

Prepara los archivos

git add archivo.html
5

Crea un commit claro

git commit -m "Mejorar diseño móvil"
6

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.

Revisa antes de combinar cambios

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
Practica cada comando por separado

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.

Guía creada por

ByteNova

Plataforma educativa dedicada a explicar programación, desarrollo web, inteligencia artificial y ciberseguridad de manera clara.

Conoce más sobre ByteNova →