In questa serie di articoli cercherò di dare delle indicazioni generali sull’uso di Git andando ad esaminare i comandi più importanti. Cercheremo inoltre di capire come funziona il versioning dei files.
Ma cosa’è Git?
Git è un software gratuito ed open source che rientra nella categoria dei VCS (Version Control System), esso permette di tenere traccia delle modifiche apportate ai files ed alle cartelle di un progetto nel corso del tempo, conservando la storia di tutti i cambiamenti effettuati in modo da poter accedere alle diverse versioni del progetto in qualunque fase dello sviluppo.
| Quando si sviluppano progetti o si scrivono documenti che richiedono numerosi cambiamenti un sistema di versioning come GIT potrebbe diventare il tuo migliore amico. |
Git come detto è in grado di tener traccia delle modifiche apportate ai files e alle directory. Per funzionare, git salva le informazioni relative alle diverse versioni di file e cartelle, in un repository locale, una cartella chiamata .git, che si trova nella directory del progetto di riferimento.
Git al contrario di altri sistemi di versioning centralizzati è un VCS distribuito. L’architettura distribuita, consente di mantenere un repository locale dei files ( uno per ogni utente ), su cui si potrà lavorare e modificare i files indipendentemente dagli altri utenti in modo veloce ed efficiente ed un repository principale remoto a cui tutti gli utenti fanno riferimento.
| Questa modalità non inficia i meccanismi di collaborazione, in quanto sarà sempre possibile scambiare le modifiche con altri operatori, usando il repository principale che potrà essere sincronizzato volta per volta. |
Con Git ogni utente potrà scaricare dal repository principale gli aggiornamenti e potrà applicare le modifiche alla copia locale dello stesso. In modo analogo un utente potrà inviare le proprie modifiche al repository principale eseguendo l’operazione ‘push’, di cui vedremo in seguito la sintassi.
In sintesi Git è la scelta migliore per monitorare i cambiamenti di un gruppo di files e cartelle, perché è in grado di salvare uno snapshot di intere directory e di file, di visualizzare il contenuto di un file o di una cartella ad una delle versioni salvate.
Grazie a Git in caso di errore o di necessità sarà possibile effettuare un rollback delle modifiche, ripristinando interamente un file o una cartella o confrontando un file con una precedente versione dello stesso.
| Attenzione: non bisogna confondere Git con GitHub. Git come detto prima è un Version Control System, GitHub è una piattaforma online creata da Tom Preston-Werner, Chris Wanstrath e PJ Hyett nel nel 2008 che consente gratuitamente l’hosting di repository Git. |
Lista Comandi Git
Per creare un nuovo repository locale:
$ git init [nome del progetto]
Per scaricare un repository esistente:
$ git clone [url_del_progetto_git]
Per conoscere i nuovi file creati o quelli modificati non ancora “committati”:
$ git status
Per sapere la lista di tutti i branches locali
$ git branch
Per sapere la lista di tutti i branches locali e remoti
$ git branch -av
Per cambiare branch
$ git checkout [altro_branch]
Per creare uno nuovo branch chiamato “nome_branch”
$ git branch nome_branch
Per cancellare un branch esistente
$ git branch -d nome_branch
Per unire i file di un branch_A con il branch_B
$ git checkout branch_A $ git merge branch_B
Per taggare un commit di uno o più files
$ git tag nome_tag
Per conoscere le modifiche sui files:
$ git diff
Per creare la lista dei file da committare
$git add [nome_file]
per creare la lista dei files da committare di una intera directory
$ git add .
Per committare i file in lista
$ git commit -m "commento obbligatorio da inserire"
Per conoscere le ultime modifiche effettuate sul repository principale
$ git fetch
Per recuperare le ultime modifiche fatte
$ git pull
Per inserire (pushare) le ultime modifiche fatte
$ git push
Per avere la storia delle modifiche
$ git log
Per conoscere le modifiche effettuate in un file o in una directory con evidenza di tutte le differenze
git log -p [file/directory]
Per avere un help dei comandi
$ git command --help

Comments