🌿Git y GitHub
Harness Maxxing muestra git en imágenes: las ramas, los commits, lo que todavía no se ha subido. Hay dos lugares:
- En una conversación, para todo el mundo: cuando Claude habla de un repositorio, añade un pequeño bloque
gity la app dibuja el grafo real de ese repositorio, leído en directo desde el servidor (o desde GitHub). - La página Git (barra lateral -> Git): todos los repositorios del servidor y de tu cuenta de GitHub, con tus permisos en cada uno; haz clic en uno para ver todas sus ramas y commits. Actívala en Settings -> Features (Ajustes -> Funciones).
Todo es de solo lectura: desde estas vistas nunca se hace commit, push ni ningún cambio.
Grafos en el chat
Pregunta "¿cómo vamos con el repositorio acme?", "¿qué no está subido?", "enséñame las ramas": Claude responde con un bloque como este, dibujado como un grafo (Telegram muestra el texto):
```git
repo: /root/sites/acme
branches: main, feat-login
limit: 20
highlight: 3f2a9c1
```
| Línea | Significado |
|---|---|
repo: |
la carpeta del clon en el servidor (ruta absoluta), o github:owner/name para un repositorio de GitHub |
branches: |
opcional: solo estas ramas (si no, todas) |
limit: |
opcional: cuántos commits (30 por defecto, 300 como máximo) |
highlight: |
opcional: commits que destacar (los que Claude está comentando) |
Haz clic en un commit para ver su mensaje completo, el autor, la fecha y los archivos que cambió (líneas +/-). Código muestra el texto del bloque; Abrir en Git abre la página completa (cuando la página Git está activada).
Haz clic derecho en la etiqueta de una rama o en un commit (pulsación larga en el móvil), en el chat o en la página Git: Abrir en GitHub abre esa rama o ese commit en github.com en una pestaña nueva, Copiar el enlace de GitHub copia su dirección, y la última opción copia el nombre de la rama o el SHA del commit. Una rama o un commit de un clon se abre cuando ya se ha subido a origin en GitHub (antes, la opción dice "todavía no está en GitHub"); un grafo leído desde GitHub lo abre todo.
El repositorio debe estar dentro de la raíz de archivos (/root por defecto): las mismas carpetas que muestra la página Archivos.
La página Git
Git en la barra lateral (atajo G y luego B), una vez activada la opción Página Git y GitHub en Settings -> Features (desactivada por defecto; los grafos en las conversaciones funcionan en cualquier caso).
- En este servidor: todos los repositorios git que se encuentran bajo la raíz de archivos, una sola vez (se omiten carpetas como
node_modules), con los commits aún sin subir (↑) o sin bajar (↓), los archivos modificados, su último commit y su repositorio de GitHub. Las ramas no se listan aquí: están en el grafo del repositorio (una tarjeta solo nombra la rama activa cuando no esmain/master, o indica detached). Las carpetas de trabajo adicionales de un clon (git worktree add, una carpeta por rama) no se muestran como repositorios independientes: el clon indica cuántas tiene (+3 worktrees). - GitHub: todos los repositorios de tu cuenta (los tuyos, los de tus organizaciones y aquellos en los que colaboras) con tu permiso en cada uno (admin, maintain, write, triage, read), privado o público, y "clonado aquí" cuando el servidor tiene una copia.
- Haz clic en un repositorio: el grafo de sus ramas y commits (los 200 más recientes, Mostrar más hasta 1000), los detalles de un commit (en una hoja desde la parte inferior en un móvil o una tableta) y, en el caso de GitHub, las pull requests abiertas. Un clon vinculado a GitHub tiene un botón para alternar entre la copia del servidor y GitHub (que muestra todas las ramas, incluso las que no se han descargado en el servidor). Con muchas ramas, las líneas del grafo se aprietan en una pantalla estrecha y los nombres de rama largos terminan con "…" (nombre completo al pasar el ratón).
Conectar GitHub
Los clones del servidor no necesitan nada. Para tu cuenta de GitHub, añade un token:
- En GitHub: Settings -> Developer settings -> Fine-grained tokens -> Generate new token (github.com/settings/personal-access-tokens). Acceso a repositorios: todos los repositorios; permisos: Contents, Metadata y Pull requests, solo lectura.
- En Harness Maxxing: Settings -> Keys (Ajustes -> Claves) -> añádelo, por ejemplo como
GITHUB_TOKEN.
Se usan todos los tokens de GitHub de la bóveda, sea cual sea su nombre (GITHUB_TOKEN, GITHUB_PAT_BLOG...), además del de la copia de seguridad de la memoria: añade uno por cuenta para ver varias cuentas, o tokens limitados a unos pocos repositorios. La página lista las cuentas conectadas en la parte superior (haz clic en una para filtrar), combina sus repositorios (cada uno una sola vez, con tu mejor permiso), muestra qué claves ven cada repositorio y avisa de una clave que GitHub rechaza (caducada, revocada) sin dejar de mostrar las demás. Para abrir un repositorio, el servidor usa una clave que tenga acceso a él. Los tokens se quedan en el servidor: la página solo ve sus nombres.
Seguridad
La página solo lee los repositorios: nunca hace fetch, pull ni push. Un repositorio encontrado en el servidor puede venir de cualquier parte (un archivo extraído, un clon hecho por Claude), así que se desactivan los ajustes de un repositorio que harían que git ejecutara un programa al leerlo (monitor de archivos, verificación de firmas, filtros clean, diff externo, hooks), y no se abre un repositorio que pertenezca a otro usuario del sistema (la comprobación de propiedad del propio git). Cuando se alcanza el límite de peticiones de GitHub, la página lo dice en lugar de mostrar los repositorios como inexistentes.