Tutorial de Git para principiantes: guía completa de Git y GitHub

  1. Inicio
  2. Blog
  3. Desarrollo de software

Desarrollo de software

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.

Por Stack QuoraActualizado el 29 oct 202611 min de lectura
Tutorial de Git para principiantes que muestra un historial de commits con ramas que se fusionan en main

Ideas clave

  • 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ó:

  1. git init convirtió la carpeta en un repositorio.
  2. git add movió el archivo al área de preparación, una sala de espera para el próximo commit.
  3. git commit guardó 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

  1. Crea una rama para tu tarea.
  2. Haz commit de tu trabajo y sube la rama.
  3. Abre un pull request (PR) en GitHub.
  4. Los compañeros revisan y comentan. Se ejecutan las comprobaciones automáticas.
  5. 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 .gitignore para 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 main limpia 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

Trabaja con Stack Quora

¿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.