Ir al contenido

Panel Git

El panel Git (icono Git en el dock lateral) te deja operar tus repositorios sin salir de la app — y es multi-repositorio: detecta automáticamente todos los repos Git dentro del espacio de trabajo, incluidas las subcarpetas con repositorio propio, y te deja cambiar entre ellos.

El panel Git: cambios del repositorio y commit sin tocar la terminal.
  • Ver el estado del repositorio: archivos modificados, nuevos y eliminados.
  • Revisar los cambios de cada archivo antes de confirmar.
  • Confirmar (commit) desde la propia interfaz.

Arriba del panel hay dos pestañas con rótulo y contador: Cambios —con el número de archivos pendientes— e Historial. Antes eran un único botón-icono sin nombre.

En Cambios, un clic sobre un archivo abre sus diferencias en una pestaña del editor; Ctrl+clic (o ⌘+clic) las abre en una pestaña aparte.

La pestaña Historial es una lista vertical de commits: el mensaje en negrita, un avatar con las iniciales del autor, su nombre y el tiempo relativo («hace 4 horas») en el idioma de la app, más las etiquetas de las ramas y tags que apunten a ese commit.

  • «Buscar por mensaje, autor o hash» filtra la lista mientras escribes.
  • «Comparar con rama…» te dice en una frase cuántos commits de más y de menos tiene una rama respecto a la actual.
  • El historial se pide de 100 en 100: al final está «Cargar 100 commits más», para que un repositorio de miles de commits no bloquee el panel.
  • Las flechas del teclado recorren la lista.

Al elegir un commit se abre su detalle: mensaje, autor y fecha, el hash corto con botón de copiar («Copiar el hash completo»), el resumen +N −M y la lista de «N archivos cambiados» con su estado —añadido, modificado, borrado, renombrado— y sus contadores. Las diferencias se piden archivo a archivo, así que un commit enorme no se descarga entero hasta que pinchas uno.

Los commits que todavía no están en el remoto llevan una pastilla ↑ («Pendiente de subir»), y sobre la lista aparece una franja de resumen: «N commits pendientes de subir · Subir» y «M por bajar · Bajar», con los botones que ya usaba el panel. Si la rama no tiene rama de seguimiento, la franja dice «Esta rama no tiene remoto · Publicar rama» y nadie se marca: sin remoto con el que comparar, inventarlo sería mentir. El conteo sale de Git, no de los commits cargados en pantalla.

Un clic en un archivo —tanto en Cambios como dentro de un commit— abre (o actualiza) la pestaña de diferencias del editor, montada con el mismo Monaco que usa Developer:

  • Minimapa a la derecha con las líneas añadidas y borradas.
  • Marcas de las zonas de cambio en la barra de desplazamiento, para saltar de una a otra.
  • Números de línea a ambos lados y resaltado de sintaxis según la extensión.
  • Zonas sin cambios plegadas, para ver solo lo que importa.
  • «Vista lado a lado» ⇄ «Vista unificada» con un botón.

La pestaña se reutiliza con cada archivo que pinchas, así que navegar por un commit no deja veinte pestañas abiertas; con Ctrl+clic (⌘+clic) abres una pestaña aparte que ya no se reemplaza. Dentro del panel queda un «Previsualizar aquí» plegado y apagado por defecto —la columna del panel es estrecha y el diff se leía mal—, con su «Visor compacto (sin editor)» de respaldo cuando algún lado del archivo pasa de 2 MB o Git no puede dar los dos textos. Los archivos binarios lo dicen («Archivo binario: no hay diferencias que mostrar.») en vez de intentar pintar nada.

Tanto la lista de un commit como la de Cambios se muestran agrupadas por carpetas, en acordeón: cada carpeta trae su contador de archivos y sus +/− sumados, y las cadenas de una sola carpeta se compactan en una fila (src/components/git) en vez de gastar tres niveles. Hay «Plegar todo» y «Desplegar todo», un conmutador «Ver como árbol» / «Ver como lista» que se recuerda, y las flechas ↑ ↓ ← → y Enter para moverte, plegar y abrir sin soltar el teclado.

El panel puede generar el mensaje de commit por ti: analiza los cambios pendientes y propone un mensaje que los describe. Puedes elegir qué proveedor y modelo hace esa redacción con su propio selector — por ejemplo, un modelo local gratuito para los mensajes de commit aunque tu chat principal use uno de pago. El mensaje propuesto se edita antes de confirmar, como cualquier otro.