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.
