Funzionalità

Tutto quello che SpiderGit sa fare

SpiderGit unisce due livelli: la visione d’insieme, con workspace e una dashboard per tutti i repository, e il lavoro sul singolo repository, con gli strumenti git di ogni giorno. Qui li trovi tutti.

01 · Dashboard

Lo stato di ogni repository, a colpo d’occhio

La dashboard è il cuore di SpiderGit: una tabella con tutti i repository del workspace aperto e, per ognuno:

  • branch corrente e branch remoto collegato (upstream), oppure l’indicazione di HEAD staccato o di branch mai pubblicato;
  • modifiche locali: file in stage, modificati, non tracciati e in conflitto, con badge colorati, più il numero di stash;
  • commit da inviare (↑) e da scaricare (↓) rispetto all’upstream;
  • ora dell’ultimo fetch;
  • eventuali errori: cartella spostata o cancellata, repository non leggibile, fetch fallito.

In alto, cinque riquadri riassumono l’intero workspace: numero di repository, quanti hanno modifiche locali, quanti commit sono da inviare e in quanti repository, quanti da scaricare, quanti repository richiedono attenzione.

Dashboard di SpiderGit con cinque riquadri di totali e una tabella di repository raggruppati per backend, frontend, mobile e infra, con branch, modifiche locali e commit da inviare e da scaricare.
La dashboard del workspace Aurora Retail: 14 repository, totali in alto, gruppi e stato di ognuno.

Gruppi

I repository si raggruppano (per esempio backend, frontend, mobile, infra). Ogni gruppo mostra quanti repository contiene e quanti richiedono attenzione, e si apre o si chiude con un clic. I repository senza gruppo stanno in fondo.

Dashboard con alcuni gruppi compressi che indicano quanti repository sono da controllare e righe evidenziate per un conflitto, un branch senza upstream e una cartella non più esistente.
Gruppi chiusi e aperti: si vedono subito il conflitto in terraform-modules, il branch mai pubblicato di shop-ios e la cartella mancante di old-storefront.

Organizzare senza uscire dalla dashboard

Con il tasto destro su un repository puoi aprirlo, fare il fetch, rinominarlo, cambiargli gruppo o spostarlo in un gruppo esistente; dall’intestazione di un gruppo puoi rinominarlo o scioglierlo. Per spostare un repository basta anche trascinarlo sul gruppo di destinazione.

Sempre aggiornata

  • Aggiorna rilegge lo stato locale di tutti i repository in parallelo, senza rete.
  • Fetch di tutti scarica gli aggiornamenti dai remoti in background, così i commit da scaricare sono reali; si può attivare in automatico all’apertura del workspace.
  • Lo stato viene salvato: all’avvio la dashboard compare subito con gli ultimi dati, poi si aggiorna.
  • Ricerca per nome, percorso o branch, ordinamento per ogni colonna e filtro «solo repository con modifiche o da sincronizzare».
Menu contestuale aperto su un repository della dashboard con le voci Apri, Fetch, Rinomina, Cambia gruppo e il sottomenu Sposta nel gruppo.
Il menu contestuale di una riga, con lo spostamento in un altro gruppo.

02 · Workspace

Clienti, aziende, progetti: ognuno al suo posto

Un workspace è un insieme di repository con le sue impostazioni. Puoi crearne quanti vuoi, per esempio uno per ogni cliente, uno per i progetti open source e uno per quelli personali.

  • Identità git per workspace: nome ed email usati per commit, merge, tag, cherry-pick e revert nei repository di quel workspace, senza cambiare la configurazione globale di git.
  • Colore e descrizione per riconoscerlo a colpo d’occhio.
  • Fetch automatico all’apertura, attivabile per workspace.
  • Workspace predefinito, aperto direttamente all’avvio; gli altri sono a un clic dal pulsante in alto a destra.
  • Lo stesso repository può stare in più workspace, con gruppo e preferiti indipendenti.
  • Duplicazione di un workspace con impostazioni e repository.
Finestra di scelta con quattro workspace colorati (Aurora Retail, Blue Harbor Logistics, Open Source, Personale), ognuno con nome ed email git.
La scelta del workspace: ognuno con colore, identità git, numero di repository e ultimo utilizzo.
Maschera di un nuovo workspace con nome, descrizione, colore, nome ed email git e fetch automatico.
Creazione di un workspace con la sua identità git.

03 · Libreria e scansione

Importa decine di repository, già organizzati

La libreria raccoglie i repository del workspace: preferiti in cima, poi i gruppi; per ogni repository puoi cambiare il nome visualizzato e il gruppo, aprire la cartella o rimuoverlo dal workspace (i file non vengono toccati). I repository si aggiungono uno alla volta, clonandoli da un URL con l’avanzamento in tempo reale, oppure in blocco con la scansione.

La scansione cerca i repository nelle cartelle di riferimento fino alla profondità che scegli, salta le cartelle pesanti (node_modules, bin, obj…) e segnala quelli già presenti. Con l’opzione «Gruppo dalle sottocartelle» ogni repository riceve come gruppo le cartelle tra la cartella di riferimento e il repository stesso: partendo da W:\work\aurora-retail, backend\notifications-service finisce nel gruppo “backend” e data\analytics-etl nel gruppo “data”.

Risultati della scansione di una cartella con i repository già presenti e tre nuovi con il gruppo suggerito dalle sottocartelle.
La scansione trova 3 repository nuovi e propone già il gruppo.
Libreria dei repository divisa in preferiti e gruppi, con il pannello di dettaglio per nome, gruppo e percorso.
La libreria con preferiti e gruppi; a destra il dettaglio del repository selezionato.

04 · Storico e grafo

La storia del progetto, finalmente leggibile

  • Grafo dei branch colorato, con merge e diramazioni.
  • Etichette di branch locali, remoti e tag sui commit.
  • Ricerca per messaggio, autore, hash o branch.
  • Dettaglio del commit: messaggio completo, autore, data, genitori, file modificati e diff di ogni file.
  • Ordinamento a scelta: per data del commit, per data dell’autore o topologico (le impostazioni si applicano subito).
  • Dal menu contestuale di un commit: nuovo branch o tag, checkout, merge, cherry-pick, revert, rebase interattivo, copia di hash e messaggio.
Vista repository con il pannello di branch, tag, remoti e stash a sinistra e lo storico con il grafo colorato dei branch ed etichette sui commit.
Lo storico di orders-api con feature branch, hotfix, merge e tag di release.

05 · Modifiche e commit

Prepara il commit esattamente come vuoi

  • Due liste, non in stage e in stage, con lo stato di ogni file (modificato, aggiunto, eliminato, rinominato, non tracciato, in conflitto).
  • Diff affiancato all’elenco, con numeri di riga.
  • Stage per blocchi: metti in stage, togli o scarta un singolo blocco di modifiche, non solo il file intero.
  • Selezione multipla (Ctrl o Maiusc + clic): stage, rimozione dallo stage e stash dei soli file selezionati dal menu contestuale.
  • Scarta modifiche con conferma; i file non tracciati vengono eliminati solo dopo un avviso esplicito.
  • Commit con contatore della lunghezza del riepilogo, amend dell’ultimo commit e Commit e push in un solo passaggio (anche con Ctrl+Maiusc+Invio).
  • Si vede sempre con quale identità verrà fatto il commit: quella del workspace o quella globale di git.
  • La lista si aggiorna da sola quando i file cambiano su disco.
Liste dei file non in stage e in stage, con a destra il diff del file con righe aggiunte in verde e rimosse in rosso.
Modifiche locali con il diff del file selezionato e i pulsanti per lo stage del singolo blocco.

06 · Branch, tag e remoti

Tutto il pannello di controllo del repository

Nel pannello laterale della vista repository (lo vedi a sinistra nello screenshot dello storico):

  • Branch locali con i commit da inviare e da scaricare; branch remoti; tag; remoti; stash.
  • Branch: crea, passa a un altro branch (anche partendo da un branch remoto, con tracking automatico), rinomina, elimina (con avviso se contiene commit non uniti), merge nel branch corrente.
  • Tag: crea (anche annotati), elimina, pubblica sul remoto.
  • Remoti: aggiungi, modifica l’URL, rimuovi; elimina branch e tag dal remoto.
  • Fetch, pull (merge, rebase o solo fast-forward) e push con avanzamento; un branch nuovo viene pubblicato scegliendo remoto e nome; se il push viene rifiutato puoi fare prima il pull o sovrascrivere in sicurezza (force-with-lease).
  • Stash: crea (anche con i file non tracciati), applica, applica ed elimina, elimina.

07 · Operazioni avanzate

Riscrivi la storia, senza paura

  • Rebase interattivo visuale: per ogni commit scegli se mantenerlo, rinominarlo, unirlo al precedente (squash o fixup) o eliminarlo, e cambia l’ordine con le frecce. Nessun editor di testo da configurare.
  • Cherry-pick e revert di un commit con conferma.
  • Merge con l’opzione di creare sempre un commit di merge.
  • Checkout di un commit in HEAD staccato, con spiegazione di cosa comporta.
Finestra del rebase interattivo con l'elenco dei commit, l'azione scelta per ognuno e le frecce per riordinarli.
Rebase interattivo: un commit rinominato, uno unito con squash.

08 · Conflitti

Conflitti senza panico

Quando un merge, un rebase, un cherry-pick o un revert si ferma, SpiderGit lo dice con un banner che spiega cosa fare e offre Continua o Annulla operazione. Per ogni file in conflitto vedi le due versioni evidenziate e puoi tenere quella corrente o quella in arrivo con un clic, aprire il file nel tuo editor e segnarlo come risolto.

Banner di merge in corso con il pulsante Annulla operazione e un file in conflitto con le due versioni evidenziate.
Merge in corso con un file in conflitto: versione corrente in verde, in arrivo in blu.

09 · Blame

Chi ha scritto questa riga?

Il blame mostra per ogni riga del file il commit, l’autore e la data dell’ultima modifica, anche per le righe non ancora committate. Si apre da un file modificato o da un file di un commit dello storico.

Blame di un file C# con commit, autore e data a fianco di ogni riga.
Blame di TokenService.cs: cinque commit di quattro autori.

10 · Sicurezza e credenziali

Pensato per il mondo reale

  • Credenziali: SpiderGit usa il credential helper configurato in git (per esempio Git Credential Manager); se non ce n’è uno, chiede utente e password o token in una finestra, senza salvarli.
  • Operazioni in background silenziose: il fetch automatico non apre mai richieste di credenziali.
  • Repository di un altro utente: quando git rifiuta un repository per motivi di sicurezza (“dubious ownership”, tipico di dischi esterni o cartelle copiate da un altro PC), SpiderGit lo riconosce e propone di dichiararlo attendibile, mostrando il comando che eseguirà.
  • Errori completi: un clic su un errore mostra il messaggio integrale di git, selezionabile per copiare i comandi suggeriti.
Dashboard con repository segnalati come di un altro utente e il pulsante Considera attendibile su ogni riga.
Esempio: repository copiati da un altro PC, segnalati con il pulsante «Considera attendibile».

11 · Impostazioni e lingue

Fatto a modo tuo

  • Modifica del workspace aperto: nome, descrizione, colore, identità git, fetch automatico, workspace predefinito.
  • Impostazioni di sistema, valide per tutta l’applicazione: lingua dell’interfaccia (italiano, inglese, spagnolo o quella del sistema) e ordinamento dello storico.
  • Informazioni su git, identità globale, credential helper e cartella dei dati.
Pagina Impostazioni con la modifica del workspace aperto: nome, colore, identità git e fetch automatico.
Impostazioni del workspace.
Scheda Impostazioni di sistema con la scelta della lingua e dell'ordinamento dello storico.
Impostazioni di sistema: lingua e ordinamento dello storico.

Provalo con i tuoi repository.

SpiderGit è gratuito, per Windows, Linux e macOS.