Git es el sistema de control de versiones distribuido más utilizado del mundo. Creado por Linus Torvalds en 2005 para el desarrollo del kernel de Linux, permite rastrear cambios en archivos, colaborar con otros desarrolladores y mantener un historial completo del proyecto.

¿Qué es Git?

A diferencia de CVS o Subversion, Git es distribuido: cada copia del repositorio contiene todo el historial. No depende de un servidor central. Puedes trabajar offline, hacer commits locales y sincronizar cuando quieras.

Instalación y configuración inicial

Instalar Git es sencillo en cualquier distribución:

# En Debian/Ubuntu
sudo apt update && sudo apt install git -y

# En CentOS/RHEL/Fedora
sudo dnf install git -y

# En Arch
sudo pacman -S git

# Verificar instalación
git --version

Antes de empezar, configura tu identidad. Git la usa para firmar cada commit:

Configurar identidad

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

# Ver configuración
git config --list

# Editor por defecto (opcional)
git config --global core.editor "nano"

Iniciar un repositorio y primeros commits

Veamos un ejemplo práctico desde cero:

mkdir mi-proyecto
cd mi-proyecto
git init                         # Inicia repositorio

echo '# Mi Proyecto' > README.md
echo 'node_modules/' > .gitignore

git status                       # Archivos sin seguimiento
git add README.md .gitignore     # Área de staging
git commit -m "Primer commit: README y gitignore"

echo 'console.log("Hola mundo");' > index.js
git add index.js
git commit -m "Agregar punto de entrada"

git log --oneline                # Historial resumido

git diff y git status

Antes de agregar cambios al staging, conviene revisar qué se modificó:

echo "// función principal" >> index.js
git diff                        # Cambios sin staging
git diff --staged               # Cambios en staging
git status -s                   # Resumen compacto

El archivo .gitignore

.gitignore evita que archivos temporales, dependencias o secretos se agreguen al repositorio:

# .gitignore ejemplo
node_modules/
.env
*.log
dist/
build/
.DS_Store
*.swp

Con estos fundamentos ya puedes iniciar cualquier proyecto con Git y mantener un historial ordenado desde el día uno.

Infografía Git: Introducción al control de versiones — instalar, configurar y primeros commits
Infografía: Git: Introducción al control de versiones — instalar, configurar y primeros commits