Git – Log e Branches

Continuiamo a parlare di Git. Dopo aver visto come inizializzare un progetto e gestire le varie modifiche semplicemente con git-add e git-commit, vediamo come ottenere la lista delle varie modifiche e come gestire i vari rami di sviluppo.

Innanzitutto affrontiamo la questione dei log. I log sono dei riassunti in cui sono elencati via via tutti i vari commit che sono stati inviati. Git permette di creare un gran numero di log con un enorme lista di opzioni. Io presenterò solo le tre forme più diffuse lasciandovi, per il momento, il divertimento di legger man git-log per vedere in dettaglio tutte le varie opzioni.

Il log più semplice è sicuramente

$ git log

Con questo comando otterrete semplicemente la lista di tutti i commit con data e autore.

Se invece volete sapere, per ogni commit, anche quali modifiche siano state effettuate vi basta digitare:

$ git log -p

In questo modo alla lista precedente verrà aggiunto anche il diff corrispondente ovvero una lista dettagliata della modifica effettuata.

Spesso però la lista dettagliata non interessa, ma interessa soltanto un riassunto che ci dica l’entità delle modifiche effettuate su ogni file.

$ git log --stat --summary

Questo comando mostra, per ogni commit, quante righe sono state modificate/aggiunte/rimosse per ogni file.

Ora vediamo invece come gestire i vari rami di sviluppo.

Supponiamo di voler creare un ramo sperimentale per la nostra applicazione. Per creare questo ramo ci basta digitare:

$ git branch experimental

Ora il nostro ramo è stato creato e per apportargli modifiche ci basta dare

$ git checkout experimental

Ora siamo nel ramo experimental. Possiamo modificare liberamente i nostri file e, dopo aver modificato a piacere, tornare di nuovo al ramo principale con

$ git checkout master

Noterete che le modifiche appena fatte non sono più visibili. Esse infatti sono state fatte nel ramo experimental. Ora potete fare delle modifiche diverse nel ramo “master” causando così la separazione dei due rami.

A questo punto potreste voler riunire di nuovo i due rami perché avete visto che la modifica in experimental funziona meglio della versione originale. Per fare ciò basta un semplicissimo

$ git merge experimental

E, se non ci sono conflitti, avete concluso. In caso di conflitti invece le righe conflittuali verranno marcate così da semplificare la loro adeguazione.

Ora non vi resta che cancellare il ramo experimental, se non vi serve più, con

$ git branch -d experimental

Come vedete la gestione dei rami è decisamente semplice e vi permette in modo rapido e sicuro di azzardare modifiche al codice mantenendo sempre una versione stabile su cui appoggiarvi.

Ovviamente potete mantenere contemporaneamente qualunque numero di branches vogliate.

Hai richieste al riguardo? Commenta o visita il forum!
Serve aiuto? LQH!

Comments are closed.