EDA 1 / Prog 2 - Guía de Trabajos Prácticos

Guía de Configuración de Git

Nota importante: En Windows, ssh-keygen viene incluido con Git y también está disponible nativamente en PowerShell (Windows 10/11). No necesitas instalar nada adicional.

1. Instalación de Git

Windows

  1. Descarga el instalador desde git-scm.com
  2. Ejecuta el instalador .exe
  3. En el asistente, acepta las opciones por defecto (recomendado)
  4. Importante: Asegúrate de que "Git Bash Here" y "Git Credential Manager" estén marcados
  5. Completa la instalación

Verificar instalación:

git --version
ssh-keygen --version

Ambos comandos deberían funcionar sin errores.

Linux

# Ubuntu/Debian
sudo apt-get install git

# Fedora
sudo dnf install git

2. Configuración Inicial de Git

Configura tu identidad en Git (necesario para hacer commits):

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

Verifica la configuración:

git config --global --list

3. Autenticación con GitHub

Opción A: SSH (Recomendado)

En Windows

Paso 1: Abre una terminal

Elige una de estas opciones:

Paso 2: Generar clave SSH

Ejecuta en tu terminal elegida:

ssh-keygen -t ed25519 -C "tu.email@ejemplo.com"

El sistema te pedirá:

  1. File location: Presiona Enter para aceptar la ubicación por defecto (C:\Users\tu-usuario\.ssh\id_ed25519)
  2. Passphrase: Ingresa una contraseña segura (o presiona Enter sin contraseña)
  3. Confirm passphrase: Repite la contraseña

Deberías ver un output como:

Your identification has been saved in C:\Users\tu-usuario\.ssh\id_ed25519
Your public key has been saved in C:\Users\tu-usuario\.ssh\id_ed25519.pub

Paso 3: Agregar clave al ssh-agent (Windows)

En PowerShell (ejecuta como Administrador):

# Inicia el ssh-agent
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

# Agrega tu clave privada
ssh-add C:\Users\tu-usuario\.ssh\id_ed25519

O si usas Git Bash, ejecuta:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Paso 4: Copiar clave pública y agregarla a GitHub

Abre un editor de texto (Bloc de notas) y abre:

C:\Users\tu-usuario\.ssh\id_ed25519.pub

O en la terminal, ejecuta:

cat ~/.ssh/id_ed25519.pub

Copia el contenido completo.

Ahora:

Paso 5: Probar conexión

En tu terminal, ejecuta:

ssh -T git@github.com

Deberías ver:

Hi tu-usuario! You've successfully authenticated, but GitHub does not provide shell access.

En Linux

ssh-keygen -t ed25519 -C "tu.email@ejemplo.com"

Presiona Enter para aceptar la ubicación por defecto y establece una contraseña.

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Copia y agrega la clave pública:

cat ~/.ssh/id_ed25519.pub

Prueba la conexión:

ssh -T git@github.com

Opción B: Token de Acceso Personal (PAT)

4. Instalación de GitHub Desktop (Opcional)

Para una interfaz gráfica más amigable, descarga GitHub Desktop.

Al abrir por primera vez, inicia sesión con tu cuenta de GitHub y sigue los pasos para vincular tus repositorios.

5. Integración con VS Code

Extensiones Recomendadas

  1. Git Graph (Recomendado)

    • Publisher: mhutchie
    • Visualiza el árbol de commits de forma clara
  2. GitLens (Opcional)

    • Publisher: Eric Amodio
    • Muestra quién modificó cada línea y cuándo

Configurar Git en VS Code

VS Code detecta automáticamente Git. Para verificar:

  1. Abre VS Code
  2. Ve a Preferences > Settings
  3. Busca "Git: Enabled" y asegúrate que esté marcado
  4. Busca "Git: Path" si necesitas especificar una ruta personalizada

Usar Git en VS Code

Panel de Control de Versiones (Sidebar):

Operaciones Comunes:

Terminal Integrada:

6. Primeros Pasos con un Repositorio

# Clonar un repositorio (con SSH)
git clone git@github.com:usuario/repositorio.git

# O si usas HTTPS/token
git clone https://github.com/usuario/repositorio.git

# Entrar al directorio
cd repositorio

# Ver estado del repositorio
git status

# Ver todas las ramas disponibles
git branch -a

# Cambiar a una rama específica
git checkout nombre-rama

# Ver historial de commits
git log --oneline

# Ver los cambios desde el último commit
git diff

# Ver qué cambios están preparados (staged)
git diff --staged

7. Flujo de Trabajo Típico

# 1. Actualizar tu rama local
git pull origin main

# 2. Hacer cambios en tus archivos

# 3. Ver qué cambió
git status

# 4. Preparar cambios para commit
git add archivo.txt
# O preparar todos los cambios
git add .

# 5. Crear un commit
git commit -m "Descripción clara del cambio"

# 6. Enviar cambios al servidor
git push origin main

8. Resolución de Problemas Comunes

Windows - "ssh-keygen command not found"

Windows - ssh-agent no inicia

En PowerShell como Administrador:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

Si aún no funciona, usa Git Bash:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

"Permission denied (publickey)"

VS Code no detecta Git

"fatal: not a git repository"

Cambios no aparecen en VS Code

Error al hacer push: "rejected"


Recursos Útiles

¿Preguntas o problemas? Consulta con tu docente o revisa los recursos arriba.