Lavorando in rete con GIT si apre un universo fantastico! Da locale al lavoro condiviso a stretto contatto con strumenti rigorosi di controllo. Ma come si fa a creare un repository su GITHUB per passare dalla modalità locale alla modalità di lavoro condiviso? Come faccio a clonare un repository? Ed é proprio necessario? Come faccio a fare il PULL o il PUSH delle modifiche? Va da se che termini come “spingere” o “tirare” già da soli danno l’idea delle operazioni che andremo a fare. Con Git remote tutti i pezzi del puzzle tornano a posto ed ecco che la famosa rappresentazione della metropolitana linea B che ha invaso le nostre fantasie ci é tornata molto utile! Git consente di lavorare con più remote magari con un servizio on-line come git-hub dove posso creare il mio repository, ricordando che il pubblico offerto dal radio-button non si paga come opzione (il privato si). Fatta la creazione vengono date le istruzioni a video per collegarci alla nostra macchina locale offrendo varie opzioni: ossia se abbiamo già un repository locale, un remote, ossia la nostra directory locale che si sincronizza con quella in rete. Con il comando:

git push

spingiamo i nostri file committati in rete, mentre con

git pull

prendiamo dalla rete le nuove commits aggiunte da qualcun altro che lavora al progetto e le assembliamo in locale

git fetch

invece il comando fetch (in inglese recupera) non mergia le modifiche, starà a noi effettuare il merge o meno al contrario di quello che succede per git pull dopo averle visionate graficamente magari con SOURCETREE che tra l’altro ha un ottima BASH per impartire istruzioni da riga di comando. Tutto ciò è semplicemente fantastico, soprattutto quando vedi che tutto funziona, ossia provando ad apportare modifiche aggiuntive e verificando che i commit vadano a compimento in entrambe le direzioni, sia che faccia prima il commit da rete oppure da locale. Nel nostro caso abbiamo prima inserito un documento di testo con un contenuto fittizio e lo abbiamo portato in rete. Poi dalla rete abbiamo creato un readme testo e lo abbiamo committato e sparato in locale. Poi in locale abbiamo allungato il brodo del testo e lanciato con PUSH la nuova istantanea in rete e infine dalla rete abbiamo aggiunto un ulteriore riga per riverificare che l’oggetto fisico finisca in locale con la modifica effettuata, il tutto con date, esecutori, foto e report dettagliati. GIT is awesome quasi quasi lo amo più di Miriam Leone! in sequenza partendo dal titolo il post mostra le varie aggiunte descritte nella nostra iniziazione nei riquadri in basso a destra evidenziati in giallo. Certo per chi lavora su piccoli progetti GIT è un qualcosa di superfluo.