Tutorial de Git para principiantes: guía completa de Git y GitHub
Git guarda cada versión de tu trabajo y permite a los equipos construir juntos sin pisarse. Aprende los comandos que usarás todos los días.
- Git registra los cambios de un proyecto. GitHub aloja proyectos de Git en línea.
- El ciclo diario es: cambiar,
add,commit,push. - Usa ramas para que el trabajo nuevo nunca rompa el código principal.
- La mayoría de los errores se pueden deshacer, si conoces el comando adecuado.
¿Alguna vez has guardado archivos llamados informe_final.docx, informe_final2.docx e informe_final_DEFINITIVO.docx? Git lo arregla. Recuerda cada versión de tu proyecto, quién cambió qué y por qué.
Además es la habilidad base de casi todos los trabajos de desarrollador y tester, y de pipelines como GitHub Actions.
¿Qué son Git y GitHub?
- Git es una herramienta gratuita en tu ordenador. Registra los cambios en los archivos.
- GitHub es un sitio web que almacena proyectos de Git en línea, para que los equipos compartan código, revisen cambios y automaticen comprobaciones.
Puedes usar Git sin GitHub. Otros servicios de alojamiento, como GitLab y Bitbucket, también funcionan con Git.
Configura Git
Instala Git desde el sitio oficial y luego dile quién eres:
git config --global user.name "Tu Nombre"
git config --global user.email "tu@example.com"
git config --global init.defaultBranch main
Tu primer repositorio y commit
mkdir mi-proyecto
cd mi-proyecto
git init
echo "# Mi proyecto" > README.md
git status
git add README.md
git commit -m "Añade README"
Esto es lo que pasó:
git initconvirtió la carpeta en un repositorio.git addmovió el archivo al área de preparación, una sala de espera para el próximo commit.git commitguardó una instantánea con un mensaje.
Escribe mensajes que digan por qué, en pocas palabras: “Corrige el error de login con contraseña vacía” es mejor que “cambios”.
Consejo: usa git status a menudo. Te dice qué cambió y qué hacer a continuación.
Consulta el historial y los cambios
| Comando | Uso |
|---|---|
git status |
Ver los archivos modificados y preparados |
git diff |
Ver los cambios aún no preparados |
git log --oneline |
Lista corta de commits pasados |
git show <id> |
Ver un commit en detalle |
Ramas: trabaja en paralelo con seguridad
Una rama es una línea de trabajo independiente. Puedes probar una nueva funcionalidad en una rama y el código principal sigue seguro.
git switch -c feature/pagina-login # crea y cambia a una rama nueva
# ...edita archivos...
git add .
git commit -m "Añade la página de login"
git switch main # vuelve a main
Lista las ramas con git branch. Elimina una terminada con git branch -d feature/pagina-login.
Merge y rebase
Cuando la funcionalidad esté lista, llévala a main:
git switch main
git merge feature/pagina-login
Merge une dos historiales y los mantiene tal como ocurrieron. Rebase reproduce tus commits encima de otra rama para obtener un historial recto y ordenado:
git switch feature/pagina-login
git rebase main
Una regla segura para principiantes: nunca hagas rebase de commits que otras personas ya usan. Si dudas, elige merge.
Deshacer errores
| Situación | Comando |
|---|---|
| Quitar un archivo del área de preparación | git restore --staged archivo.txt |
| Descartar los cambios de un archivo | git restore archivo.txt |
| Corregir el mensaje del último commit | git commit --amend (solo si no lo has subido) |
| Deshacer un commit ya subido con seguridad | git revert <id> |
| Encontrar un commit perdido | git reflog |
Ten cuidado con git reset --hard y git clean -fd. Borran trabajo y son difíciles de revertir.
GitHub y los remotos
Un remoto es una copia de tu repositorio en un servidor. Crea un repositorio vacío en GitHub, conéctalo y sube:
git remote add origin https://github.com/tu-nombre/mi-proyecto.git
git push -u origin main
Para obtener el proyecto de otra persona, clónalo. Para obtener cambios nuevos más tarde, tráelos:
git clone https://github.com/tu-nombre/mi-proyecto.git
git pull
Pull requests: el flujo de trabajo en equipo
- Crea una rama para tu tarea.
- Haz commit de tu trabajo y sube la rama.
- Abre un pull request (PR) en GitHub.
- Los compañeros revisan y comentan. Se ejecutan las comprobaciones automáticas.
- Corrige los comentarios y fusiona cuando esté aprobado y en verde.
Los testers también pueden participar: añaden pruebas en el mismo PR o revisan que el cambio tenga pruebas. Lee las buenas prácticas de pruebas end-to-end para ver cómo son las buenas pruebas.
Resuelve los conflictos de fusión
Un conflicto ocurre cuando dos personas cambian la misma línea. Git se detiene y marca el archivo:
<<<<<<< HEAD
¡Bienvenido de nuevo!
=======
¡Hola otra vez!
>>>>>>> feature/pagina-login
Edita el archivo para quedarte con lo que quieras, borra las líneas de marcas y luego ejecuta git add archivo.txt y git commit. Da miedo al principio, pero es solo una elección entre dos versiones.
Buenas prácticas
- Haz commits pequeños y frecuentes, con mensajes claros.
- Haz pull antes de empezar a trabajar y antes de hacer push.
- Usa un archivo
.gitignorepara carpetas de compilación, registros y secretos. - No subas nunca contraseñas ni claves de API. Si lo haces, cámbialas de inmediato.
- Mantén
mainlimpia y protegida. Trabaja en ramas.
Preguntas frecuentes
¿Cuál es la diferencia entre Git y GitHub?
Git es la herramienta que registra los cambios en tu ordenador. GitHub es un sitio web que aloja repositorios de Git y añade funciones de trabajo en equipo como los pull requests.
¿Cuál es la diferencia entre git fetch y git pull?
git fetch descarga los cambios nuevos pero no modifica tus archivos. git pull los descarga y luego los fusiona en tu rama actual.
¿Debo usar merge o rebase?
Usa merge cuando quieras una opción segura y simple. Usa rebase en tu propia rama para mantener un historial limpio, pero nunca en commits compartidos.
¿Cómo deshago mi último commit?
Si no lo has subido, usa git reset --soft HEAD~1 para conservar tus cambios. Si ya lo subiste, usa git revert.
¿Necesitan Git los testers?
Sí. El código de pruebas también vive en repositorios, y los testers usan ramas y pull requests para compartir y revisar la automatización.
Sigue aprendiendo
¿Necesitas ayuda con testing, WordPress o SEO?
Ayudamos a los equipos a lanzar mejor software y a hacer crecer sus sitios. Cuéntanos en qué trabajas y te sugeriremos un siguiente paso claro.
Más guías sobre testing, IA y desarrollo moderno
¿Te gustó este artículo? Elige otro tutorial y sigue aprendiendo.
Tutorial de Docker para principiantes: guía completa de Docker en 2026
¿Nuevo en Docker? Aprende contenedores, imágenes, Dockerfiles, volúmenes, redes y Docker Compose con comandos sencillos y un pequeño proyecto que puedes ejecutar en tu propio ordenador.
Leer artículo →Inteligencia artificialRAG vs fine-tuning vs prompt engineering: ¿cómo deben elegir los desarrolladores?
¿Debes usar RAG, fine-tuning o prompt engineering? Aprende qué hace cada uno, cuánto cuesta y una guía de decisión sencilla para tu próximo proyecto de IA.
Leer artículo →Desarrollo de softwareTutorial de JavaScript para principiantes: guía completa de JavaScript
Aprende JavaScript desde cero. Entiende las variables, las funciones, los arrays, los objetos, el DOM, los eventos, las promesas y async/await, y construye un pequeño proyecto interactivo.
Leer artículo →