Git y GitHub desde cero: tu primer commit, paso a paso

Git y GitHub desde cero: tu primer commit, paso a paso

Git y GitHub desde cero: tu primer commit, paso a paso

Por:

Franco Brutti

·

Fecha de Actualización:

informe.docx. informe-v2.docx. informe-v2-revisado.docx. informe-FINAL.docx. informe-FINAL-ahora-sí.docx. Si alguna vez has guardado así un trabajo, ya conoces el problema que resuelve Git: saber qué cambió, cuándo y por qué, sin llenar la carpeta de copias.

En los próximos minutos vas a crear una carpeta con una web diminuta, guardar su primera versión, hacer un cambio, probar una idea en una rama aparte y dejar todo listo para subirlo a GitHub. Solo necesitas un terminal y unos veinte minutos de calma.

Los comandos de esta guía se han ejecutado con Git 2.39.5 y la teoría sale de la documentación oficial de Git y de GitHub.

Git y GitHub en dos frases

Según la documentación de GitHub, Git es un sistema de control de versiones que registra los cambios en los archivos: te deja trabajar en tu propia copia de un proyecto, guardar un historial de cambios y combinar tu trabajo con el de otras personas. GitHub es una plataforma que se apoya en Git y aloja esos proyectos, que se llaman repositorios.

Dicho con el ejemplo del informe: Git es el cuaderno donde apuntas cada versión; GitHub es la estantería en internet donde guardas una copia de ese cuaderno y la compartes. Puedes usar Git sin GitHub. Para lo que sigue, empezamos por Git solo en tu ordenador.

Antes de empezar: instala Git y preséntate

Descarga Git desde git-scm.com y comprueba que funciona abriendo un terminal:

git --version
git --version
git --version

Debería responder con un número de versión. Después, dile a Git quién eres. Cada commit lleva tu nombre y tu correo, así que se configura una sola vez:

git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
git config --global init.defaultBranch main
git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
git config --global init.defaultBranch main
git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
git config --global init.defaultBranch main

La tercera línea hace que tus repositorios nuevos arranquen con una rama llamada main. Es el nombre habitual hoy, y init.defaultBranch está en la documentación de git config precisamente para elegirlo. Si ya tienes Git configurado, no cambia nada de lo que sigue.

Paso 1: crea la carpeta e inicia el repositorio

mkdir mi-primer-repo
cd mi-primer-repo
git init
git status
mkdir mi-primer-repo
cd mi-primer-repo
git init
git status
mkdir mi-primer-repo
cd mi-primer-repo
git init
git status

git init convierte la carpeta en un repositorio: crea dentro una carpeta oculta, .git, donde Git guardará el historial. git status es el comando que más vas a escribir; te cuenta en qué punto estás. Ahora dirá algo como On branch main y No commits yet: la rama existe, pero todavía no has guardado nada.

Paso 2: crea un archivo y mira qué opina Git

Crea un archivo index.html con tu editor favorito y pega esto:

<!doctype html>
<html lang="es"><head><meta charset="utf-8"><title>Mi primera página</title></head>
<body><h1>Hola, Git</h1></body></html>
<!doctype html>
<html lang="es"><head><meta charset="utf-8"><title>Mi primera página</title></head>
<body><h1>Hola, Git</h1></body></html>
<!doctype html>
<html lang="es"><head><meta charset="utf-8"><title>Mi primera página</title></head>
<body><h1>Hola, Git</h1></body></html>

Vuelve al terminal y pregunta:

git status
git status
git status

Verás index.html en una lista de «Untracked files», archivos sin rastrear. El manual Pro Git lo define así: son los que no estaban en tu última instantánea y no están en el área de preparación. Git los ve, pero no los guarda hasta que se lo pidas.

¿Te apetece seguir desde este primer commit?

Descarga el dossier de Rock the AI Code: su Módulo 0 empieza con «tu primer commit» y el Proyecto 01 es una landing page.

Descargar el dossier →

Paso 3: prepara y guarda tu primer commit

Guardar en Git son dos gestos. Primero eliges qué entra en la próxima versión, y después la confirmas con un mensaje:

git add index.html
git status
git commit -m "Añade la página de inicio"
git log --oneline
git add index.html
git status
git commit -m "Añade la página de inicio"
git log --oneline
git add index.html
git status
git commit -m "Añade la página de inicio"
git log --oneline

Con git add mueves el archivo al área de preparación (staging area), y el segundo git status lo mostrará bajo «Changes to be committed». Con git commit Git toma una instantánea de lo preparado y la guarda en el historial con tu mensaje. git log --oneline te enseña el resultado: una línea con un código corto y el mensaje.

Ese código identifica tu commit: ya tienes tu primera versión guardada. ¿Por qué dos pasos? Porque el área de preparación te deja elegir qué cambios van juntos.

Paso 4: haz un cambio y revisa qué cambió

Abre index.html y cambia Hola, Git por Hola, mundo. Luego:

git diff
git add index.html
git commit -m "Cambia el título de la página"
git log --oneline
git diff
git add index.html
git commit -m "Cambia el título de la página"
git log --oneline
git diff
git add index.html
git commit -m "Cambia el título de la página"
git log --oneline

git diff compara lo que tienes en la carpeta con lo que ya está preparado y muestra las líneas que han cambiado: la antigua con un signo menos y la nueva con un más. Mirar qué has cambiado antes de guardarlo es la mejor costumbre que puedes cogerle a Git. Después de confirmar, git log --oneline mostrará dos commits, el más reciente arriba.

Un buen mensaje de commit dice qué hace el cambio, en una frase corta («Cambia el título de la página»).

Paso 5: una rama para probar sin miedo

Una rama es una línea de historia paralela. Sirve para probar una idea sin tocar main. Crea una, añade un archivo de estilos y vuelve a main:

git switch -c prueba-estilos
echo "body { font-family: sans-serif; }" > estilos.css
git add estilos.css
git commit -m "Añade estilos básicos"
git switch main
ls
git switch -c prueba-estilos
echo "body { font-family: sans-serif; }" > estilos.css
git add estilos.css
git commit -m "Añade estilos básicos"
git switch main
ls
git switch -c prueba-estilos
echo "body { font-family: sans-serif; }" > estilos.css
git add estilos.css
git commit -m "Añade estilos básicos"
git switch main
ls

El ls final no mostrará estilos.css: en main ese archivo todavía no existe. Los cambios están a salvo en la otra rama. Si la idea te convence, la incorporas:

git merge prueba-estilos
git log --oneline --graph --all
git merge prueba-estilos
git log --oneline --graph --all
git merge prueba-estilos
git log --oneline --graph --all

Al fusionar, Git avisará con Fast-forward, porque main no había avanzado mientras tanto y solo tiene que ponerse al día. Ahora estilos.css ya está en main. Cuando una rama ha cumplido su función, se borra con git branch -d prueba-estilos y el historial se queda como estaba.

Paso 6: el archivo .gitignore, para lo que no debe subirse

Hay cosas que no quieres en el historial: contraseñas, claves, carpetas de dependencias. Para eso existe .gitignore, un archivo donde cada línea es un patrón de lo que Git debe ignorar. Según su documentación, especifica archivos que se quedan sin rastrear a propósito.

printf "node_modules/\n.env\n" > .gitignore
git add .gitignore
git commit -m "Añade .gitignore"
printf "node_modules/\n.env\n" > .gitignore
git add .gitignore
git commit -m "Añade .gitignore"
printf "node_modules/\n.env\n" > .gitignore
git add .gitignore
git commit -m "Añade .gitignore"

A partir de ahí, un archivo .env con tus claves no aparecerá en git status y no podrás subirlo por descuido. Crea el .gitignore antes de guardar cualquier secreto: la documentación avisa de que no afecta a archivos que Git ya rastrea.

De tu index.html a una landing publicada

Mira en el dossier de Rock the AI Code cómo es el Proyecto 01: una landing responsive con un flujo de publicación real.

Descargar el dossier →

Paso 7: llévalo a GitHub

Hasta aquí todo vive en tu ordenador. Para tener una copia en GitHub:

  1. Entra en github.com, crea una cuenta si no la tienes y pulsa en crear un repositorio nuevo.

  2. Ponle el nombre mi-primer-repo y déjalo vacío: sin README ni licencia marcados, para que no haya nada que reconciliar con lo que ya tienes.

  3. GitHub te mostrará la dirección del repositorio. Conéctala y sube tu rama:

git remote add origin https://github.com/TU-USUARIO/mi-primer-repo.git
git remote -v
git push -u origin main
git remote add origin https://github.com/TU-USUARIO/mi-primer-repo.git
git remote -v
git push -u origin main
git remote add origin https://github.com/TU-USUARIO/mi-primer-repo.git
git remote -v
git push -u origin main

git remote add origin apunta una dirección con el nombre origin, el que se usa por convención para el repositorio principal. git push envía tus commits, y la opción -u recuerda la pareja main con origin/main para que la próxima vez te baste con git push. Sustituye TU-USUARIO por tu nombre de usuario de GitHub. Al terminar, refresca la página del repositorio y verás tus archivos y tus commits.

Este paso se probó contra un repositorio remoto local; con GitHub solo cambian la dirección y la forma de identificarte, que es lo que a veces despista. Con una dirección HTTPS, la documentación de GitHub indica que Git te pedirá usuario y contraseña, y que en el campo de contraseña va un token de acceso personal, porque la autenticación con contraseña para Git ya no existe. También puedes usar Git Credential Manager, GitHub CLI o conectar por SSH; la guía «Configurar Git» de GitHub Docs explica las opciones. El token es como una contraseña: no lo pegues en archivos del repositorio ni en capturas.

Chuleta de los comandos de hoy

Comando

Para qué sirve

git init

Convierte la carpeta actual en un repositorio

git status

Dice qué ha cambiado y qué está preparado

git add <archivo>

Prepara un cambio para el próximo commit

git commit -m "mensaje"

Guarda lo preparado como una versión nueva

git diff

Muestra las líneas que has cambiado y aún no has preparado

git log --oneline

Lista el historial, un commit por línea

git switch -c <rama>

Crea una rama y te pasa a ella

git switch <rama>

Cambia de rama

git merge <rama>

Incorpora a la rama actual los cambios de otra

git remote add origin <url>

Conecta tu repositorio con uno remoto

git push -u origin main

Sube tu rama main al remoto

Hay comandos que reescriben o borran historial, como git reset --hard o git push --force. Déjalos para cuando hayas practicado un poco y los leas con calma en la documentación oficial.

Tu siguiente paso con el código

Ya tienes el ritmo de trabajo de cualquier desarrollador: cambiar, mirar, guardar y subir. Lo demás son variaciones, como trabajar en equipo y revisar cambios de otras personas.

En la ficha de Rock the AI Code, el Módulo 0 se describe así: «Configura tu entorno, entiende el workflow full stack y empieza a colaborar con IA desde tu primer commit» (consultado el 21-10-2026). Y el Proyecto 01 es una landing page: «Diseña y despliega una landing responsive con HTML, CSS y un flujo de publicación real». Es decir, tu index.html de hoy es, en pequeño, el punto de partida de ese recorrido. Según la misma ficha, no necesitas conocimientos previos.

Tu siguiente paso: programar construyendo

Pide el dossier de Rock the AI Code y revisa el temario completo y los 8 proyectos.

Descargar el dossier →

Puedes ver la ficha completa de Rock the AI Code o seguir ampliando con otros artículos del blog: qué es un localhost para entender dónde ves tu web mientras la construyes, qué hace un desarrollador full stack para ver dónde encaja Git en el día a día, o trabajar con Bitbucket si te interesa otro servicio de alojamiento de repositorios.

Preguntas frecuentes sobre Git y GitHub

¿Git y GitHub son lo mismo?

No. Git es el sistema de control de versiones que se instala en tu ordenador; GitHub es una plataforma que aloja repositorios de Git y añade herramientas para colaborar. Puedes usar Git sin GitHub.

¿Es difícil aprender Git?

Está al alcance de quien practique un rato: con la chuleta de arriba ya cubres el trabajo diario de un proyecto personal.

¿Necesito saber programar para usar Git?

No. Git guarda versiones de casi cualquier tipo de archivo, no solo de código; el manual Pro Git lo explica así al hablar del control de versiones. Y la ficha de Rock the AI Code dice: «No necesitas conocimientos previos» (consultado el 21-10-2026).

¿Qué es un commit?

Es una instantánea de tu proyecto en un momento concreto, con tu nombre, la fecha y un mensaje que explica el cambio. El historial de un repositorio es la sucesión de sus commits.

¿Puedo usar Git sin escribir comandos en el terminal?

Sí. La documentación de GitHub menciona GitHub Desktop, un cliente para trabajar con Git en local sin usar la línea de comandos. Aun así, entender los comandos de esta guía te ayuda a saber qué hace cualquier botón.

Comparte este artículo

Artículo siguiente

Usar IA para programar vs programar con IA: la diferencia real

Usar IA para programar vs programar con IA: la diferencia real

Hay una diferencia real entre usar IA para programar y programar con IA. Uno acelera tu flujo. El otro cambia completamente qué puedes construir.

Ver artículo

Mapas de Karnaugh: cómo simplificar funciones lógicas paso a paso

Mapas de Karnaugh: cómo simplificar funciones lógicas paso a paso

Qué es un mapa de Karnaugh, por qué el orden es 00, 01, 11, 10 y cómo agrupar bien, con un ejemplo resuelto de 4 variables y condiciones indiferentes.

Ver artículo

https://thepower.education/blog/tech/de-developer-backend-a-agentic-developer

De developer backend a Agentic Developer: hoja de ruta paso a paso

Si ya desarrollas en backend o fullstack, tienes más de la mitad del camino hecho para convertirte en Agentic Developer. Esta es la ruta concreta paso a paso.

Ver artículo

Programar con IA: el nuevo Full Stack Developer y cómo formarte

Programar con IA: el nuevo Full Stack Developer y cómo formarte

Programar con IA es más que autocompletar código. Descubre qué hace el Full Stack Developer con IA, cuánto gana en España y cómo aprender desde cero.

Ver artículo

Herramientas ciberseguridad: guía técnica

Herramientas de ciberseguridad: lo que usa un profesional para proteger su sistema

Las herramientas de ciberseguridad que usa un profesional para proteger su sistema, cómo configurarlas y cuándo usar cada una. Guía técnica para 2026.

Ver artículo

Perfil Desarrollador Agéntico: habilidades y salidas en 2026

Perfil del Desarrollador Agéntico: habilidades y salidas profesionales en 2026

Descubre qué habilidades define el perfil de un desarrollador agéntico, qué roles existen en el mercado y cuánto gana este perfil en España en 2026.

Ver artículo

En tech, quien no se forma cada año, se queda atrás
En tech, quien no se forma cada año, se queda atrás

VER MÁSTERS TECH

VER MÁSTERS TECH

Business & IA

Tech & Data

Pharma

FP Oficial

Oposiciones

Oficios

In Company