PTENES
MÓDULO 6.2

🐙 GitHub y repositorios

Lleva tu repositorio local a la nube: crea repos, configura SSH, usa la CLI de gh en la terminal, abre PRs y escribe un README que impresione. GitHub es tu escaparate profesional.

6
Temas
~45
Minutos
⚡
Intermedio
🛠️
Práctico
1

🏗️ Crear repositorio

Web vs. gh CLI — dos caminos hacia el mismo destino

1

Mediante gh CLI (recomendado)

$ gh repo create meu-projeto --public --clone
$ gh repo create meu-projeto --private --add-readme
$ gh repo create           # modo interativo (pergunta tudo)
2

Conectar un repo local existente con GitHub

$ git remote add origin git@github.com:user/repo.git
$ git push -u origin main
$ git remote -v    # confirma remote configurado

✓ Repo público: ideal para portafolio

  • ✓Indexado en Google y en la búsqueda de GitHub
  • ✓GitHub Pages gratis e ilimitado
  • ✓Los colaboradores externos pueden ayudar

🔒 Repo privado: para proyectos internos

  • →Código no expuesto públicamente
  • →Los colaboradores necesitan una invitación
  • →GitHub Pages requiere un plan de pago (excepto para organizaciones)
🌐
Público
Portafolio y código abierto
🔒
Privado
Proyectos personales/comerciales
🍴
Fork
Copia de otro proyecto
📥
Clona
Descargar a tu computadora
2

📡 Remote y push

Sincronizar lo local con GitHub — el ciclo que repetirás todos los días

LOCAL tu computadora commits git push git pull / fetch 🐙 GITHUB origin/main historial remoto copia de seguridad segura colab A colab B tú equipo

Push envía, pull recibe — GitHub es el punto central de sincronización.

REMOTO Y SINCRONIZACIÓN
$ git push -u origin main    # primeiro push + configura tracking
$ git push                   # pushes seguintes (tracking já configurado)
$ git pull                   # baixa + mescla mudanças remotas
$ git fetch                  # baixa SEM mesclar (mais seguro)
$ git remote -v              # lista remotes configurados
$ git remote set-url origin URL  # muda a URL do remote

💡 push --force-with-lease: la forma segura

Nunca uses git push --force en una rama compartida — destruye el trabajo de los demás. Usa --force-with-lease: solo obliga a hacerlo si nadie hizo push antes que tú.

⬆️
git push
Envía commits locales
⬇️
git pull
Descarga y combina
🔄
git fetch
Descarga sin combinar
📡
origin
Nombre predeterminado del remote
3

🔑 SSH vs HTTPS

Autentícate una vez y trabaja para siempre sin escribir la contraseña

SSH — recomendado para el uso diario

  • ✓Par de claves: la pública queda en GitHub y la privada en tu computadora
  • ✓Sin tener que escribir la contraseña en cada push/pull
  • ✓URL: git@github.com:user/repo.git
  • ✓Funciona perfectamente con Claude Code en automatización

HTTPS — más sencillo de configurar

  • →Token personal (PAT) en lugar de contraseña
  • →URL: https://github.com/user/repo.git
  • →Credential helper almacena en caché el token
  • →Más fácil de usar detrás de firewalls corporativos
CONFIGURAR SSH — PASO A PASO
# 1. Gerar chave
$ ssh-keygen -t ed25519 -C "seu@email.com"
# pressione Enter para aceitar o caminho padrão (~/.ssh/id_ed25519)

# 2. Copiar a chave pública
$ cat ~/.ssh/id_ed25519.pub
# copie todo o output e cole em GitHub → Settings → SSH keys → New SSH key

# 3. Testar conexão
$ ssh -T git@github.com
Hi usuario! You've successfully authenticated, but GitHub does not provide shell access.

# 4. Mudar remote existente de HTTPS para SSH
$ git remote set-url origin git@github.com:user/repo.git
🔐
ed25519
Algoritmo recomendado
🗝️
~/.ssh/
Carpeta de claves
📋
PAT
Token personal HTTPS
💾
Credential helper
Almacena credenciales en caché
4

⚡ gh CLI

GitHub en la terminal: crea repos, PRs, releases y mucho más sin abrir el navegador

🤖 Claude Code usa gh ampliamente

Al pedirle a Claude Code que cree PRs, verifique CI/CD, haga releases o abra issues, usa gh entre bastidores. Entender los comandos permite auditar lo que se hizo y personalizar el comportamiento.

gh CLI — COMANDOS ESENCIALES
# Autenticação
$ gh auth login                          # autentica com GitHub
$ gh auth status                         # verifica autenticação

# Repositórios
$ gh repo create nome --public --clone    # cria e clona
$ gh repo view                           # detalhes do repo atual
$ gh repo clone user/repo                # clona repo

# Pull Requests
$ gh pr create --title "feat: X" --body "Descrição"
$ gh pr list                             # lista PRs abertos
$ gh pr merge --squash --delete-branch   # merge com squash

# Issues
$ gh issue create --title "Bug: X" --label bug
$ gh issue list --label "good first issue"

# Releases
$ gh release create v1.0.0 --generate-notes
$ gh release list

# GitHub Actions / CI
$ gh run list                            # lista execuções recentes
$ gh run watch                           # monitora execução em tempo real

⚡ Instalar gh CLI

# macOS: brew install gh

# Ubuntu/Debian: sudo apt install gh

# Windows: winget install GitHub.cli

🔑
gh auth login
Una vez, para siempre
📁
gh repo create
Repo nuevo en segundos
🔀
gh pr create
PR sin abrir el navegador
📊
gh run watch
CI en tiempo real
5

🔀 Pull Requests

Colaboración estructurada — revisión antes del merge

1

Crear branch + commit + push

git checkout -b feature/nova-funcao
git add . && git commit -m "feat: adiciona nova funcão"
git push -u origin feature/nova-funcao
2

Abrir el PR mediante la CLI gh

gh pr create \
  --title "feat: adiciona nova funcão" \
  --body "## O que faz\n- Item 1\n\n## Como testar\n- Passo 1" \
  --base main
3

Revisar, aprobar y fusionar

gh pr review --approve       # aprovar
gh pr merge --squash --delete-branch  # merge com squash
gh pr checks                  # verificar CI
📝
PR en borrador
WIP visible para el equipo
✅
Aprobar
Luz verde para fusionar
🗜️
Squash merge
1 commit limpio en main
🤖
Plantilla de PR
.github/pull_request_template
6

📖 README eficaz

La primera impresión del proyecto: la diferencia entre que lo ignoren y que le den una estrella

README.md — ESTRUCTURA RECOMENDADA
# 🚀 Nome do Projeto

> Uma linha descrevendo o que faz e para quem.

![Status](https://img.shields.io/badge/status-ativo-success)
![License](https://img.shields.io/badge/license-MIT-blue)

## ✨ O que faz
Lista rápida com os principais benefícios.

## 🛠️ Tecnologias
- Lista de tecnologias usadas

## 🚀 Como usar
```bash
git clone ...
npm install
npm start
```

## 📸 Preview
[screenshot ou GIF aqui]

## 📄 Licença
MIT — veja LICENSE para detalhes.

✓ README que funciona

  • ✓Primera frase: explica el proyecto en 10 segundos
  • ✓Screenshot o GIF en la parte visible sin desplazarse
  • ✓Instalación en menos de 3 comandos
  • ✓Insignias visuales de estado, licencia y versión

✗ README que aleja

  • ✗README vacío o «TODO»
  • ✗Sin instrucciones de instalación
  • ✗Bloques de texto sin formato
  • ✗No actualizado después de los cambios en el proyecto

🤖 Claude Code genera un README

Pide: "Analiza este proyecto y genera un README.md completo con badges, instalación, uso y ejemplos reales." Claude lee el código y genera documentación precisa en segundos.

🏷️
Insignias
shields.io
📸
Screenshot
Vale más que 1000 palabras
⚖️
LICENSE
MIT para proyectos abiertos
🤝
CONTRIBUTING
Cómo colaborar

🎯 Resumen del módulo

Qué aprendiste

  • ✓Crear un repositorio mediante gh CLI o la web
  • ✓Configurar remote y hacer push/pull
  • ✓SSH con ed25519 — autenticación sin contraseña
  • ✓gh CLI: repos, PRs, issues, releases
  • ✓Flujo completo de Pull Request
  • ✓README estructurado que impresiona

Siguiente módulo

Con el repositorio en GitHub, el siguiente paso es publicarlo gratis con GitHub Pages y hacer que tu proyecto esté accesible para todo el mundo en minutos.

Módulo 6.3 — GitHub Pages→