Quale app macOS Git GUI offre una vista "Split View Staging"?


6

Uso SourceTree come strumento Git GUI. Sono molto produttivo con l'app e lo trovo di gran lunga preferibile all'interfaccia Git della riga di comando per attività comuni.

Sfortunatamente, SourceTree è incredibilmente lento , difettoso , privo di funzionalità e raramente aggiornato. Mi piacerebbe molto ridurre la mia dipendenza dal prodotto Atlassian.

Il problema è che sono fortemente dipendente dalla vista Staging della vista divisa di SourceTree dell'area di stadiazione. Questa visione si adatta perfettamente al mio modello mentale di come dovrebbe funzionare una visione di scena.

Vista divisa Selezione vista di staging

Questa vista consente di mettere in scena in modo indipendente singole linee, blocchi o modifiche a carattere singolo. Quindi, tutte le modifiche attualmente in scena vengono visualizzate in un singolo riquadro della vista divisa. Tutte le modifiche non messe in scena sono mostrate nell'altro riquadro.

Ciò consente di vedere facilmente quali modifiche vengono messe in scena in un determinato momento e di eseguire il commit solo di tali modifiche specifiche. Un file può esistere sia nei riquadri in fasi che in quelli non in scena.

Un singolo file con linee in scena e non in scena

Quale altra app o strumento di macOS Git GUI offre una vista di commit / staging simile a Staging con visualizzazione divisa offerta da SourceTree?

Una popolare app Git GUI, GitHub Desktop , a quanto pare non ha in programma di supportare Split View Staging:


Risposte:


3

Esistono diverse app per la GUI di macOS Git gratuite e commerciali disponibili elencate nella pagina Web di Git SCM . Gli strumenti elencati si differenziano per prestazioni e set di funzionalità. L'elenco è un documento vivente con nuove app aggiunte nel tempo.

Mentre stai cercando un'app macOS con supporto per la gestione granulare di staging / unstaging, elencherò qui uno strumento gratuito e uno a pagamento che uso / uso personalmente. Anch'io sono un grande utente di SourceTree, ma continuerò con i suoi piccoli fastidi.

1. GitKraken (gratuito):

GitKraken è un client GUI macOS Git gratuito. Anche se non è un'app nativa, ma include una vasta gamma di funzionalità. Oltre ad aggiungere nuove funzionalità, il team dietro il client lavora costantemente per migliorare le prestazioni generali con rilasci frequenti. Supporta Split View Staging. Maggiori dettagli qui:

Rimuovi la scena dai file selezionando un file a fasi e premendo il pulsante Unstage File che appare. Se si fa clic su un file per visualizzare il diff, è possibile rimuovere selettivamente le linee o gli hunk.


2. Torre (a pagamento):

Tower è un client GUI macOS Git a pagamento. È un'app macOS nativa con UX e prestazioni eccellenti. È abbastanza popolare tra gli sviluppatori di software. Supporta Split View Staging. Maggiori dettagli qui:

Una delle cose che rendono Git uno strumento così eccezionale è la capacità di realizzare commit granulari. Con l'area di gestione temporanea di Git, puoi determinare quali modifiche vuoi esattamente avere nel prossimo commit. Tower fa un ulteriore passo in avanti consentendo di determinare i blocchi esatti e le linee pari che si desidera aggiungere:

Seleziona un file modificato nell'elenco Copia di lavoro. Nella vista diff sulla destra, è quindi possibile selezionare i blocchi e le linee esatte che si desidera aggiungere al commit successivo.

Personalmente uso SourceTree e Tower.

Ti consiglierei di provare i vari strumenti menzionati nella pagina web di Git SCM e di scegliere come preferisci.

Nessuna affiliazione a nessuna delle app menzionate. Sono costantemente alla ricerca di selezionare e utilizzare i migliori strumenti disponibili per il lavoro da svolgere.


Tower sembra offrire un interruttore "Staged / Unstaged" per i singoli file, ma non per l'intero set di file messi in scena? Penso che sia la chiave di ciò di cui ho bisogno: mostrare tutti i file e le linee che vengono messi in scena, rispetto a tutti quelli che non lo sono.
sabato

@pkamb GitUp , un client leggero offre esattamente l'abilità che stai cercando. Ti consente di visualizzare i contenuti dei file in fasi / non in scena proprio come in SourceTree.
Nimesh Neema,

3

Sto usando Fork ( https://git-fork.com/ - è gratuito per Mac e Windows) da quasi 6 mesi, dopo aver lasciato SourceTree alle spalle. Penso che funzioni incredibilmente bene. Gli aggiornamenti non sono frequenti, ma accadono. Mancano alcune cose da SourceTree (ad esempio, non riesco a vedere se il mio commit è stato firmato con la mia chiave GPG - Devo eseguire un comando git nel terminale per verificare - ma l'opzione per avere commit firmati È lì e lo fa funziona, SE ti ricordi di abilitarlo per ogni repository), ma lo sto usando ogni giorno da 6 mesi senza un singolo rallentamento o problema. Di solito ho due finestre aperte, con circa 30 schede tra le due.

Anche lo strumento di unione integrato è molto ben fatto. È efficiente e mi permette di scegliere tra le due parti quali linee mantenere da quale fonte. La formulazione è un po 'confusa per me, ma principalmente perché non riesco a ricordare da che parte sia "mio" e quale "loro" quando si risolve un conflitto di unione.

Modifica: dovrei notare che ha la capacità di mettere in scena / mettere in scena hunk personalizzati. Tutto quello che devi fare è evidenziare le linee desiderate e fare clic su stage / unstage.

Ecco uno screenshot della scheda delle modifiche, poiché il sito Web di Fork ha tutto tranne questo:

Scheda modifiche


1

Personalmente uso Sublime Merge . Ha le funzionalità Stage File / Stage Hunk necessarie. Guarda uno screenshot dal loro sito Web:

Schermata di stadiazione Unisci sublime

I file in fasi e non in scena vengono quindi visualizzati su una pagina come due elenchi di file separati.

Questo client sembra abbastanza veloce e ben progettato: i miei comandi più usati sono a pochi clic. Inoltre, è disponibile anche per Windows, il che è un vantaggio per me, poiché codice in entrambi gli ambienti.

Attualmente, Sublime Merge può essere valutato gratuitamente per un periodo illimitato, con alcune limitazioni minori in termini di funzionalità (ad esempio, nessuna modalità scura) e un popup sporadico che chiede di prendere in considerazione l'acquisto (stile Sublime Text).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.