Vedi le differenze dell'archivio remoto con uno strumento grafico [chiuso]

0

Il mio repository GIT è memorizzato su un server Linux remoto che sto accedendo dal mio PC Windows tramite Netbeans.

Una volta apportate le modifiche, vorrei esaminarle rapidamente prima di eseguire il commit.

Il server non ha componenti grafici quindi non posso lanciare "gitk" da lì. Non mi sento molto a mio agio con un diff di testo sul server con il comando "git diff". Non è abbastanza leggibile per me.

msysgit è installato sul mio PC Windows. Vorrei lanciare una sorta di comando "gitk" remoto dal mio PC ma non ho trovato il modo di farlo. Non ho trovato nulla sul Web correlato a questo.

Qualsiasi altro modo "grafico" per farlo sarebbe conveniente.

Qualche idea su come farlo?

Grazie in anticipo

Modifica

Per chiarire il mio flusso di lavoro (poiché la mia domanda sembra mancare di chiarezza):

  1. Lavoro sul mio codice con Netbeans IDE su una copia locale del mio repository funzionante remoto. Questa copia non ha il controllo delle versioni. La sincronizzazione viene eseguita tramite SFTP. Significato, alla creazione del progetto, Netbeans fa un SFTP GET dell'intero repository locale. Quindi, quando salgo le mie modifiche (sulla copia locale) Netbeans esegue automaticamente un SFTP PUT sul repository remoto tramite SFTP per mantenere la sincronizzazione.

  2. Il repository funzionante sul server web (basato su Linux) ha il git versioning. Quindi tenere traccia delle stesse modifiche che ho apportato sulla copia di Windows.

  3. Per motivi di semplicità (sto lavorando da solo su questo progetto fino ad ora) non voglio clonare il repository di lavoro o creare un ramo diverso dal master. Quindi sto lavorando su questo repository univoco e direttamente con il ramo master.

  4. Una volta che uno sviluppo è stato fatto e testato ( le mie modifiche non sono ancora state organizzate per il commit ) voglio dare un ultimo sguardo a prima di eseguire il commit . Per ottenere questo mi piacerebbe utilizzare uno strumento grafico. Ho msysgit installato sul PC Windows ma non ho trovato un modo per caricare un repository remoto sul mio gitk locale tramite SSH (non penso sia possibile).

Finaly: Sto cercando un modo per farlo con gitk o qualsiasi altro strumento. Non ne ho trovato uno finora. per esempio git-cola non propone altro che caricare i repository locali.

Ho trovato una soluzione proposta qui: link

Ma mi chiedo se esiste una soluzione più semplice.

EDIT2

L'idea di questa domanda non era di avviare un dibattito su quale strumento fosse migliore per la mia preoccupazione. Era: come farlo nel modo migliore QUALUNQUE sia lo strumento.

Ad ogni modo, ecco il flusso di lavoro che sto finalmente utilizzando per gli interessati:

  1. Il repository funzionante è sul server Linux.
  2. Netbeans (o qualunque sia lo strumento) sta modificando una copia locale di questo repository di lavoro remoto su Windows. Il "download da" e "caricare su" il repository remoto vengono effettuati tramite una connessione ssh. Quindi il repository remoto e il repository locale sono sempre sincronizzati. Il modo più semplice per vedere cosa è stato fatto dall'ultimo commit sul repository è quello di fare in modo che Windows repo locale funzioni come un repository funzionante e lancia gitk da lì.

Unico inconveniente è non dimenticare di impegnare il repository locale quando eseguo il commit del remoto per ottenere le stesse differenze tra l'ultimo commit e il corrente.

Speriamo che aiuti altre persone con la stessa preoccupazione.

    
posta Nitseg 26.02.2014 - 19:27
fonte

1 risposta

1

Sembra che tu non stia capendo una caratteristica chiave di Git. Git è un sistema di controllo della versione distribuito . Ciò differisce da un sistema di controllo di revisione centralizzato perché l'intera cronologia di un repository può esistere in molti posti contemporaneamente.

Quando esegui un commit usando git, questo commit è solo sul tuo computer. Quando crei un nuovo ramo, questo ramo esiste solo sul tuo computer. Puoi farlo molte volte facendo centinaia di commit su diversi rami e l'unico posto che esisteranno è sul tuo computer. Cioè, fino a quando non spingi quei commits + rami o qualcun altro li recupera.

Ciò introduce il concetto di telecomandi. I telecomandi sono semplicemente altre posizioni dello stesso repository. Potresti avere un telecomando sul tuo server, su GitHub o anche su un'altra posizione sullo stesso computer. Con la configurazione corretta puoi spingere i commit ai telecomandi e puoi recuperare i commit dai telecomandi.

Usando uno dei elencati qui di Gui puoi ottenere una buona visione della cronologia di un repository. Il gui ti mostrerà dove si trovano diversi rami sia sul tuo repository locale che su qualsiasi dispositivo remoto di cui il tuo repo locale è a conoscenza. Per ottenere nuove informazioni sui repository remoti è necessario eseguire un recupero .

È lecito ritenere che se un dato ramo è su commit X allora anche uno qualsiasi dei commit principali di X viene applicato a quel ramo.

    
risposta data 27.02.2014 - 14:14
fonte

Leggi altre domande sui tag