Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Gestione dei repository remoti

Scopriamo le procedure necessarie per creare, gestire, modificare, condividere, rinominare ed eliminare repository localizzati in server remoti con Git.
Scopriamo le procedure necessarie per creare, gestire, modificare, condividere, rinominare ed eliminare repository localizzati in server remoti con Git.
Link copiato negli appunti

Git non è soltanto uno strumento per il versioning ma anche una soluzione avanzata per lo sviluppo in ambito collaborativo. Da quest'ultimo punto di vista assumono un'importanza rilavante le procedure per la gestione dei repository remoti; sostanzialmente si tratta di risorse accessibili dalla Rete o da una piattaforma localizzata esternamente rispetto alla propria configurazione locale, l'utilizzatore avrà quindi la possibilità inviare e prelevare informazioni a e da server remoti, condividendo così gli stati di avanzamento di un progetto, aggiungendo nuovi repository, rinunciando a quelli non più utili così come amministrando i diversi rami e stabilendo i criteri per il tracciamento.

Visualizzazione dei server remoti

Il comando git remote consente di ottenere una lista dei server remoti associati ad uno specifico progetto; a tal proposito è possibile fare riferimento ai repository clonati che dovrebbero presentare in output almeno un server remoto, cioè quello di provenienza, indicato dal DVCS come origin. L'immagine seguente mostra il risultato del lancio di un comando git remote operato a carico del progetto "MyWP" già implementato nei capitoli precedenti:

Figura 1. Output del comando git remote.
Output del comando git remote

origin è un'indicazione di massima riguardante il server remoto di default del progetto, nel caso in cui si vogliano ottenere maggiori dettagli relativamente alla provenienza di quest'ultimo si potrà utilizzare il parametro -v che permetterà di elencare gli URL associati ad esso:

Figura 2. Output dettagliato del comando git remote.
Output dettagliato del comando git remote

Come è possibile notare da quanto riportato nell'immagine precedente, lo stesso URL è stato elencato due volte, la prima per l'estrazione o recupero dei dati (fetch), sostanzialmente per la loro lettura, e la seconda per l'invio dei dati in condivisione al repository remoto (push).

Code Hosting dei repository remoti

L'istruzione git remote add è un'estensione del comando git add che consente di aggiungere repository in remoto, a tale istruzione vanno passati come argomenti il nome breve associato al progetto e l'URL del server remoto di destinazione. Fatto questo, la successiva lista prodotta dal lancio di git remote -v dovrebbe notificare la presenza dei nuovi repository.

Figura 3. Aggiunta di repository remoti.
Aggiunta di repository remoti

Anche nel caso dell'esempio proposto il code hosting di riferimento è quello della piattaforma GitHub che offre appunto i propri server remoti per il versioning collaborativo. Per quanto riguarda invece l'accesso alle informazioni sulla nuova risorsa, si noti come l'utilizzo del nome breve nell'istruzione git remote add consenta di adottare il comando git fetch, seguito dal nome del repository aggiunto, per visualizzare da locale i dati relativi al contenuto di quest'ultimo, senza dover specificare l'URL del server remoto ospitante.

Figura 4. Caricamento dati dal repository remoto.
Caricamento dati dal repository remoto

Si noti poi come la prima esecuzione di git fetch porterà al caricamento dei dati del progetto corrente non disponibili per l'utilizzatore che ha lanciato il comando, il ricorso immediatamente successivo alla medesima istruzione si risolverà plausibilmente in tempi di esecuzione nettamente più brevi e in un output meno verboso, questo per via del fatto che le differenze tra repository locale e remoto sono state annullate in precedenza.

Figura 5. Recupero informazioni sul repository remoto.
Recupero informazioni sul repository remoto

Si faccia attenzione al fatto che git fetch non ha il compito di unire le informazioni o i file di un repository remoto con il suo corrispondente locale, ma soltanto quello di scaricare dati in quest'ultimo; tale comportamento è dovuto al fatto che il repository remoto origin viene aggiunto dal sistema nel momento in cui si clona un repository e non andrebbe confuso con il repository del progetto originale che vive, invece, di vita propria. Per chiarire meglio quanto esposto basterà lanciare l'istruzione git fetch origin finalizzata a rendere disponibili le modifiche condivise in remoto a partire dalla clonazione o dall'aggiornamento di un progetto.

Figura 6. Caricamento delle modifiche condivise dal server remoto.
Caricamento delle modifiche condivise dal server remoto

Per scaricare i dati dal server remoto utilizzato per la clonazione e unirli alla propria versione del progetto (merging), sarà invece necessario fare ricorso al comando git pull, esso in pratica aggiorna il repository locale al commit più recente e potrà essere utilizzato a partire dalla directory corrente per recuperare e incorporare le modifiche effettuate sul server remoto.

Condivisione e verifica in remoto

Come esposto riguardo alla formulazione dei commit, la validazione delle modifiche apportate avverrà attraverso l'istruzione git commit -m "Messaggio", questa operazione però non determinerà automaticamente alcun trasferimento nel repository remoto, motivo per il quale non si avrà una vero e propria operazione di condivisione; per l'invio in remoto si dovrà invece utilizzare il comando git push tramite la seguente sintassi che prevede il passaggio all'istruzione di due parametri: il nome del server remoto e il ramo di riferimento.

git push origin master

Naturalmente, se richiesto bisognerà sostituire master con il ramo a cui si desidera inviare le modifiche.

A questo punto, chi volesse visualizzare ulteriori informazioni riguardanti un repository su server remoto (ad esempio l'elenco dei rami tracciati) potrà fare ricorso all'istruzione git remote show, seguita dal nome del server remoto di proprio interesse.

Figura 7. Visualizzare informazioni sul server remoto.
Visualizzare informazioni sul server remoto

L'output di git remote show potrebbe essere più o meno articolato a seconda dello stato di un progetto, mostrando per esempio il ramo caricato quando viene lanciato git push, così come i rami remoti non caricati o quelli presenti localmente ma cancellati dal server.

Rinomina e cancellazione in remoto

Come descritto in precedenza, ad ogni remotizzazione è possibile associare un nome breve per la risorsa coinvolta, volendo modificare questo dato si potrà utilizzare il comando git remote rename seguito, nell'ordine, dal nome breve attuale e dal nuovo nome scelto.

$ git remote rename MyWP mW

Se invece si desidera cancellare la medesima risorsa in remoto, lo si potrà fare con il comando git remote rm seguito dal nome di quest'ultima.

$ git remote rm mW

Sia in caso di rinomina che di cancellazione, l'esito positivo delle istruzioni utilizzate non porterà alla generazione di alcuna conferma visualizzabile a video, da notare inoltre che tali operazioni non coinvolgeranno anche le copie locali delle risorse riferite al progetto corrente.

Ti consigliamo anche