Funciones

Todo lo que SpiderGit sabe hacer

SpiderGit une dos niveles: la visión de conjunto, con workspaces y un panel para todos los repositorios, y el trabajo en cada repositorio, con las herramientas git de cada día. Aquí las encuentras todas.

01 · Panel

El estado de cada repositorio, de un vistazo

El panel es el corazón de SpiderGit: una tabla con todos los repositorios del workspace abierto y, para cada uno:

  • rama actual y rama remota vinculada (upstream), o la indicación de HEAD separado o de rama nunca publicada;
  • cambios locales: archivos en stage, modificados, sin seguimiento y en conflicto, con distintivos de color, más el número de stashes;
  • commits por enviar (↑) y por descargar (↓) respecto al upstream;
  • hora del último fetch;
  • posibles errores: carpeta movida o eliminada, repositorio ilegible, fetch fallido.

Arriba, cinco recuadros resumen todo el workspace: número de repositorios, cuántos tienen cambios locales, cuántos commits hay por enviar y en cuántos repositorios, cuántos por descargar y cuántos repositorios requieren atención.

Panel de SpiderGit con cinco recuadros de totales y una tabla de repositorios agrupados en backend, frontend, mobile e infra, con rama, cambios locales y commits por enviar y por descargar.
El panel del workspace Aurora Retail: 14 repositorios, totales arriba, grupos y estado de cada uno.

Grupos

Los repositorios se agrupan (por ejemplo backend, frontend, mobile, infra). Cada grupo muestra cuántos repositorios contiene y cuántos hay que revisar, y se abre o se cierra con un clic. Los repositorios sin grupo aparecen al final.

Panel con algunos grupos contraídos que indican cuántos repositorios hay que revisar y filas que destacan un conflicto, una rama sin upstream y una carpeta que ya no existe.
Grupos contraídos y desplegados: se ven enseguida el conflicto en terraform-modules, la rama nunca publicada de shop-ios y la carpeta que falta de old-storefront.

Organizar sin salir del panel

Con el botón derecho sobre un repositorio puedes abrirlo, hacer fetch, cambiarle el nombre o el grupo, o moverlo a un grupo existente; desde la cabecera de un grupo puedes cambiarle el nombre o deshacerlo. Para mover un repositorio también basta con arrastrarlo al grupo de destino.

Siempre al día

  • Actualizar vuelve a leer el estado local de todos los repositorios en paralelo, sin red.
  • Fetch de todos descarga las novedades de los remotos en segundo plano, así los commits por descargar son reales; se puede activar automáticamente al abrir el workspace.
  • El estado se guarda: al arrancar, el panel aparece enseguida con los últimos datos y después se actualiza.
  • Búsqueda por nombre, ruta o rama, ordenación por cualquier columna y filtro «Solo repositorios con cambios o por sincronizar».
Menú contextual abierto sobre un repositorio del panel con Abrir, Fetch, Cambiar nombre, Cambiar grupo y el submenú Mover al grupo.
El menú contextual de una fila, moviendo el repositorio a otro grupo.

02 · Workspaces

Clientes, empresas, proyectos: cada uno en su sitio

Un workspace es un conjunto de repositorios con sus propios ajustes. Puedes crear tantos como quieras, por ejemplo uno por cliente, uno para los proyectos open source y uno para los personales.

  • Identidad git por workspace: nombre y correo usados para commits, merges, tags, cherry-picks y reverts en los repositorios de ese workspace, sin cambiar la configuración global de git.
  • Color y descripción para reconocerlo de un vistazo.
  • Fetch automático al abrirlo, activable por workspace.
  • Workspace predeterminado, que se abre directamente al arrancar; los demás están a un clic desde el botón de arriba a la derecha.
  • El mismo repositorio puede estar en varios workspaces, con grupo y favoritos independientes.
  • Duplicación de un workspace con sus ajustes y repositorios.
Ventana de selección con cuatro workspaces de colores (Aurora Retail, Blue Harbor Logistics, Open Source, Personal), cada uno con su nombre y correo de git.
La selección del workspace: cada uno con su color, identidad git, número de repositorios y último uso.
Formulario de un nuevo workspace con nombre, descripción, color, nombre y correo de git y fetch automático.
Creación de un workspace con su identidad git.

03 · Biblioteca y escaneo

Importa decenas de repositorios, ya organizados

La biblioteca reúne los repositorios del workspace: primero los favoritos, luego los grupos; para cada repositorio puedes cambiar el nombre mostrado y el grupo, abrir la carpeta o quitarlo del workspace (los archivos no se tocan). Los repositorios se añaden de uno en uno, clonándolos desde una URL con el progreso en tiempo real, o en bloque con el escaneo.

El escaneo busca repositorios en las carpetas de referencia hasta la profundidad que elijas, se salta las carpetas pesadas (node_modules, bin, obj…) y señala los que ya están. Con la opción «Grupo según las subcarpetas» cada repositorio recibe como grupo las carpetas que hay entre la carpeta de referencia y el propio repositorio: partiendo de W:\work\aurora-retail, backend\notifications-service acaba en el grupo «backend» y data\analytics-etl en el grupo «data».

Resultados del escaneo de una carpeta con los repositorios ya presentes y tres nuevos con el grupo propuesto a partir de las subcarpetas.
El escaneo encuentra 3 repositorios nuevos y ya propone su grupo.
Biblioteca de repositorios dividida en favoritos y grupos, con el panel de detalle para nombre, grupo y ruta.
La biblioteca con favoritos y grupos; a la derecha, el detalle del repositorio seleccionado.

04 · Historial y grafo

La historia del proyecto, por fin legible

  • Grafo de ramas en color, con merges y bifurcaciones.
  • Etiquetas de ramas locales, remotas y tags en los commits.
  • Búsqueda por mensaje, autor, hash o rama.
  • Detalle del commit: mensaje completo, autor, fecha, padres, archivos modificados y diff de cada archivo.
  • Orden a elegir: por fecha del commit, por fecha del autor o topológico (el ajuste se aplica enseguida).
  • Desde el menú contextual de un commit: nueva rama o tag, checkout, merge, cherry-pick, revert, rebase interactivo, copiar hash y mensaje.
Vista del repositorio con el panel de ramas, tags, remotos y stashes a la izquierda y el historial con el grafo de ramas en color y etiquetas en los commits.
El historial de orders-api con ramas de funcionalidad, un hotfix, merges y tags de versión.

05 · Cambios y commits

Prepara el commit exactamente como quieres

  • Dos listas, fuera del stage y en stage, con el estado de cada archivo (modificado, añadido, eliminado, renombrado, sin seguimiento, en conflicto).
  • Diff junto a la lista, con números de línea.
  • Stage por bloques: pon en stage, quita del stage o descarta un solo bloque de cambios, no solo el archivo entero.
  • Selección múltiple (Ctrl o Mayús + clic): stage, quitar del stage y stash solo de los archivos seleccionados desde el menú contextual.
  • Descartar cambios con confirmación; los archivos sin seguimiento solo se eliminan tras un aviso explícito.
  • Commit con contador de la longitud del resumen, amend del último commit y Commit y push en un solo paso (también con Ctrl+Mayús+Intro).
  • Siempre ves con qué identidad se hará el commit: la del workspace o la global de git.
  • La lista se actualiza sola cuando los archivos cambian en el disco.
Listas de archivos fuera del stage y en stage, con el diff del archivo a la derecha: líneas añadidas en verde y eliminadas en rojo.
Cambios locales con el diff del archivo seleccionado y los botones para poner en stage un solo bloque.

06 · Ramas, tags y remotos

Todo el panel de control del repositorio

En el panel lateral de la vista del repositorio (lo ves a la izquierda en la captura del historial):

  • Ramas locales con los commits por enviar y por descargar; ramas remotas; tags; remotos; stashes.
  • Ramas: crear, cambiar a otra rama (también a partir de una rama remota, con seguimiento automático), cambiar el nombre, eliminar (con aviso si contiene commits sin fusionar), merge en la rama actual.
  • Tags: crear (también anotados), eliminar, publicar en el remoto.
  • Remotos: añadir, cambiar la URL, quitar; eliminar ramas y tags del remoto.
  • Fetch, pull (merge, rebase o solo fast-forward) y push con progreso; una rama nueva se publica eligiendo remoto y nombre; si el push se rechaza puedes hacer antes el pull o sobrescribir de forma segura (force-with-lease).
  • Stashes: crear (también con los archivos sin seguimiento), aplicar, aplicar y eliminar, eliminar.

07 · Operaciones avanzadas

Reescribe la historia, sin miedo

  • Rebase interactivo visual: para cada commit eliges si mantenerlo, cambiar su mensaje, unirlo al anterior (squash o fixup) o eliminarlo, y cambias el orden con las flechas. Sin editor de texto que configurar.
  • Cherry-pick y revert de un commit con confirmación.
  • Merge con la opción de crear siempre un commit de merge.
  • Checkout de un commit en HEAD separado, con la explicación de lo que implica.
Ventana del rebase interactivo con la lista de commits, la acción elegida para cada uno y las flechas para reordenarlos.
Rebase interactivo: un commit con el mensaje cambiado y otro unido con squash.

08 · Conflictos

Conflictos sin pánico

Cuando un merge, un rebase, un cherry-pick o un revert se detiene, SpiderGit te lo dice con un aviso que explica qué hacer y ofrece Continuar o Cancelar operación. Para cada archivo en conflicto ves las dos versiones resaltadas y puedes mantener la actual o la entrante con un clic, abrir el archivo en tu editor y marcarlo como resuelto.

Aviso de merge en curso con el botón Cancelar operación y un archivo en conflicto con las dos versiones resaltadas.
Merge en curso con un archivo en conflicto: versión actual en verde, entrante en azul.

09 · Blame

¿Quién escribió esta línea?

El blame muestra, para cada línea del archivo, el commit, el autor y la fecha del último cambio, también en las líneas aún sin commit. Se abre desde un archivo modificado o desde un archivo de un commit del historial.

Blame de un archivo C# con commit, autor y fecha junto a cada línea.
Blame de TokenService.cs: cinco commits de cuatro autores.

10 · Seguridad y credenciales

Pensado para el mundo real

  • Credenciales: SpiderGit usa el credential helper configurado en git (por ejemplo Git Credential Manager); si no hay ninguno, pide usuario y contraseña o token en una ventana, sin guardarlos.
  • Operaciones en segundo plano silenciosas: el fetch automático nunca abre peticiones de credenciales.
  • Repositorios de otro usuario: cuando git rechaza un repositorio por motivos de seguridad («dubious ownership», típico de discos externos o carpetas copiadas de otro PC), SpiderGit lo reconoce y propone marcarlo como de confianza, mostrando el comando que va a ejecutar.
  • Errores completos: un clic en un error muestra el mensaje íntegro de git, seleccionable para copiar los comandos que sugiere.
Panel con repositorios señalados como de otro usuario y el botón Marcar como de confianza en cada fila.
Ejemplo: repositorios copiados de otro PC, señalados con el botón «Marcar como de confianza».

11 · Ajustes e idiomas

A tu manera

  • Edición del workspace abierto: nombre, descripción, color, identidad git, fetch automático, workspace predeterminado.
  • Ajustes del sistema, válidos para toda la aplicación: idioma de la interfaz (español, inglés, italiano o el del sistema) y orden del historial.
  • Información sobre git, identidad global, credential helper y carpeta de datos.
Página de Ajustes con la edición del workspace abierto: nombre, color, identidad git y fetch automático.
Ajustes del workspace.
Pestaña Ajustes del sistema con la elección del idioma y del orden del historial.
Ajustes del sistema: idioma y orden del historial.

Pruébalo con tus repositorios.

SpiderGit es gratuito, para Windows, Linux y macOS.