Tienes un cupón activo hasta el . Ver tu oferta

¿Qué es Git y cómo empezar a usarlo?

Git es la herramienta con la que casi todos los programadores guardan las versiones de su código y trabajan en equipo. Te explicamos qué es, en qué se diferencia de GitHub y qué comandos necesitas desde el primer día.

Imagina que preparas una presentación y vas guardando archivos: presentacion.pptx, presentacion_final.pptx, presentacion_final_ahora_si.pptx. En programación pasa lo mismo, pero con cientos de archivos y varias personas editándolos a la vez. Git existe precisamente para resolver ese problema.

¿Qué es Git?

Git es un sistema de control de versiones: un programa que registra los cambios en tus archivos y guarda su historial. Cada vez que llegas a un punto importante, tomas una «fotografía» del proyecto, que en Git se llama commit. Después puedes ver qué cambió, quién lo cambió y volver a cualquier versión anterior.

Git lo creó en 2005 Linus Torvalds, el autor de Linux, para coordinar el trabajo de miles de desarrolladores en el núcleo de ese sistema operativo. Es gratuito, de código abierto y hoy es el sistema de control de versiones más utilizado en el desarrollo de software.

Además, Git es distribuido: cada persona tiene en su computadora una copia completa del proyecto con todo su historial. Por eso funciona sin conexión a internet y no depende de un único servidor.

¿Para qué sirve Git?

  • Guardar el historial. Cada cambio queda registrado con su autor, su fecha y un mensaje. Si algo se rompe, puedes averiguar cuándo y por qué pasó.
  • Deshacer errores. Puedes volver a una versión anterior de un archivo o de todo el proyecto.
  • Trabajar en equipo. Varias personas editan el mismo proyecto a la vez y Git ayuda a combinar sus cambios.
  • Probar ideas sin riesgo. En una rama separada puedes experimentar y, si la idea no funciona, simplemente la descartas.
  • Compartir el código. Con servicios como GitHub o GitLab subes el proyecto a internet para colaborar con otras personas o mostrarlo en tu portafolio.

Por eso saber usar Git es un requisito habitual en las ofertas de trabajo para desarrolladores.

Git y GitHub: ¿cuál es la diferencia?

Es la confusión más común entre quienes empiezan:

  • Git es el programa que instalas en tu computadora y que lleva el control de versiones.
  • GitHub es un servicio en internet donde se guardan repositorios de Git y se colabora con otras personas. Funciona con Git, pero no es lo mismo. Hay alternativas como GitLab y Bitbucket.

Puedes usar Git sin GitHub, pero no puedes usar GitHub sin Git. Si quieres conocer otra plataforma, lee GitLab para principiantes.

Conceptos básicos de Git

  • Repositorio (repository): la carpeta del proyecto que Git vigila. Dentro tiene una carpeta oculta, .git, donde se guarda todo el historial.
  • Commit: «fotografía» del proyecto en un momento concreto, con un mensaje que explica qué cambió.
  • Rama (branch): línea independiente de trabajo. La principal suele llamarse main (en proyectos antiguos, master).
  • Fusión (merge): unir los cambios de una rama con otra.
  • Repositorio remoto (remote): copia del proyecto en internet, por ejemplo en GitHub. Por defecto se llama origin.

Además, en Git los cambios pasan por tres zonas:

  1. Directorio de trabajo: tus archivos tal como los editas.
  2. Área de preparación (staging area): aquí eliges qué cambios entrarán en el próximo commit. Se llena con git add.
  3. Repositorio: el historial donde quedan guardados los commits. Se llena con git commit.

Esquema de las tres zonas de Git: directorio de trabajo, área de preparación y repositorio, conectadas por los comandos git add y git commit

La zona intermedia sirve para mantener el orden: puedes haber cambiado cinco archivos y guardar primero solo dos que estén relacionados entre sí.

Cómo instalar Git

Descarga el instalador desde el sitio oficial, git-scm.com. Hay versiones para Windows, macOS y Linux; en macOS y Linux Git puede venir ya instalado. Para comprobarlo, abre la terminal y escribe:

git --version

Después indica tu nombre y tu correo: aparecerán en cada commit que hagas.

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

Tu primer repositorio, paso a paso

Crea una carpeta y conviértela en un repositorio:

mkdir mi-proyecto
cd mi-proyecto
git init

git init crea la carpeta .git y desde ese momento Git vigila el proyecto. Crea un archivo y mira cómo lo ve Git:

echo "# Mi primer proyecto" > README.md
git status

Git te dirá que README.md es un archivo nuevo que todavía no tiene seguimiento. Prepáralo y guárdalo en el historial:

git add README.md
git commit -m "Añadir README"

La opción -m es el mensaje del commit. Para ver el historial:

git log --oneline

Verás una línea por cada commit, con su identificador corto y su mensaje. El comando que más usarás es git status: te dice en qué estado está el proyecto y qué hacer a continuación.

Ramas: trabaja sin romper nada

Una rama es una copia de trabajo independiente. Crea una y cámbiate a ella:

git switch -c nueva-funcion

Haz cambios y commits en esa rama: main seguirá intacta. Cuando termines y todo funcione, vuelve a main y une los cambios:

git switch main
git merge nueva-funcion

En tutoriales antiguos verás git checkout -b nueva-funcion en lugar de git switch -c: hacen lo mismo. Si dos ramas cambiaron la misma línea de un archivo, Git no sabe cuál versión conservar y marca un conflicto. No es un error grave: abre el archivo, decide qué dejar, guarda y haz un nuevo commit.

Trabajar con un repositorio remoto

Para descargar un proyecto que ya existe en GitHub, traer los cambios de otras personas y enviar los tuyos:

git clone https://github.com/usuario/proyecto.git
git pull
git push

Si creaste el repositorio en tu computadora, conéctalo primero con el remoto y haz el primer envío:

git remote add origin https://github.com/usuario/proyecto.git
git push -u origin main

Una regla sencilla: antes de empezar a trabajar, ejecuta git pull; al terminar, git push. En los equipos, los cambios suelen subirse a una rama aparte y revisarse mediante una pull request antes de unirlos a main.

Errores frecuentes de quienes empiezan

  • Mensajes vagos como «cambios» o «arreglo». Escribe qué hace el commit: «Añadir formulario de contacto».
  • Subir archivos que no deben subirse: contraseñas, claves, el archivo .env o la carpeta node_modules. Anótalos en un archivo .gitignore. Si ya subiste una clave, cámbiala: el historial la conserva.
  • Un commit gigante con todo lo del día. Es mejor hacer commits pequeños, uno por cada idea.
  • Trabajar directamente en main cuando hay más personas en el proyecto. Crea una rama.
  • Usar comandos destructivos sin entenderlos. git reset --hard borra los cambios sin guardar y no se pueden recuperar. Para deshacer un commit que ya compartiste, usa git revert.
  • Olvidar git pull antes de git push.

Los comandos que más usarás

  • git init: crear un repositorio en la carpeta actual.
  • git clone <dirección>: descargar un repositorio existente.
  • git status: ver el estado de los archivos.
  • git add <archivo>: preparar un archivo para el commit.
  • git commit -m "mensaje": guardar los cambios preparados en el historial.
  • git log --oneline: ver el historial resumido.
  • git diff: ver qué cambió desde el último commit.
  • git switch <rama>: cambiar de rama.
  • git merge <rama>: unir una rama con la actual.
  • git pull y git push: traer y enviar cambios al repositorio remoto.

¿Qué aprender después?

Git se aprende practicando. Crea un repositorio con un proyecto pequeño, haz varios commits, prueba una rama y sube todo a GitHub. Si quieres profundizar:

En Códica, el curso «Introducción a Git» forma parte de las carreras de Full Stack con IA, Front-end, Python, DevOps, análisis de datos y testing.

Para seguir aprendiendo

Leer otros artículos de Blog

Lee otros artículos relevantes del mundo de la tecnología y el espíritu empresarial.

Tecnologías

Guía de Docker: qué es, por qué usarlo y cómo trabajar con él

En esta guía, vamos a entender para qué se utiliza Docker y Docker Compose, qué es la contenerización y las imágenes de Docker, y cómo desplegar una aplicación web simple utilizando PHP-FPM, Nginx y Postgres.

Actualizado el

Tecnologías

¿Qué es HTML y para qué sirve?

En este artículo explicaremos qué es HTML, cuáles son sus características y cómo se ve el código en este lenguaje, además de analizar por qué HTML no es un lenguaje de programación.

Actualizado el

Todos los artículos