Proviamo a mettere qui un po di materiale per una wiki
premetto che sto imparando anche io, quindi è assolutamente gradito l'aiuto da chi ne capisce sicuramente più di me....
sto sperimentando git e trovo che sia comodo soprattutto per condividere un progetto
Git è uno strumento estremamente potente e variegato, riassumere il tutto in poche parole è impossibile,
In rete si trovano molte guide come quella pubblicata da Kicco
un'altra la trovate qui
https://git-scm.com/book/it/v1/Per-Iniziare-Una-Breve-Storia-di-Gitcosa è Git
un sistema di versionamento che permette di gestire un progetto e di tenere traccia di tutte le modifiche che vengono fatte
(commit). On ogni momento si può tornare indietro a qualsiasi commit antecedente a quello attuale .
Si possono inoltre creare piu rami di sviluppo (branch) che procedono in parallelo e possono essere di nuovo uniti inglobando le modifiche di uno sull'altro (merge). Pensate a più sviluppatori che lavorano su un progetto e ogniuno si occupa di una certa parte, una volta generate le modifiche necessarie aggiungono il loro lavoro al ramo principale.
Git viene gestito localmente nella cartella stessa del software che state sviluppando, ma esistono servizi come GITLAB e GITHUB che offrono uno spazio remoto dove archiviare e gestire i propri progetti
GITHUB non è opensource, GITLAB si.
Gambas è ospitato in quest'ultimo
https://gitlab.com/gambas/gambas innanzi tutto bisogna installarlo
naturalmente si suppone che siamo tutti su linux, anche se si gestisce tranquillamente anche dall'altra "cosa"
esistono tool grafici, ma trovo divertente ed educativo gestire tutto da terminale
utile per visualizzare la situazione
una gui semplice
$ sudo apt install git-gui
Configuriamo git con i nostri dati
$ git config --global user.name "Pippo"
$ git config --global user.email Pippo@gmail.com
Questo sarà utile quando creiamo un repository remoto
Proviamo a usare git
dal terminale entriamo nella cartella del progetto Gambas ( per dirne uno)
inizializziamo git
verrà creata una cartella .git dove sono contenute tutte le informazioni necessarie a git e tutti i file del progetto di tutti i rami e commit
Quando si esegue un commit viene fatta una fotografia dello stato di tutti i file e viene memorizzato un punto di riferimento per potervi tornare.
tracciamo ora i file contenuti nella cartella di lavoro
lo stato dei file viene immortalato con una istantanea e conservato in un area detta di stage, una sorta di limbo
Non è ancora stato creato il riferimento a questa immagine, andiamo ad effettuare il commit
appare ora l'editor ( nano di solito) dove nella prima riga si può inserire una descrizione di questo commit con le modifiche effettuate
si salva e se ora provate a dare il comando
potete vedere graficamente lo stato del vostro progetto
In ogni momento si può vedere la situazione con il comando
Un progetto si può clonare anche da un repo remoto
con falsa modestia e un po di presunzione un ottimo esempio è il mio "Gestione-Manifestazioni"
andiamo nella pagina principale del progetto e copiamo l'indirizzo nella casella HTTPS
poi apriamo il terminale e digitiamo
$ git clone https://gitlab.com/akrobaticone/Gestione-manifestazioni.git
una copia del progetto verrà creata localmente nella cartella home
per curiosità entrate con il terminale nella cartella del progetto
$ cd Gestione-manifestazioni
$ gitk --all
Per tenere aggiornato il progetto con i cambiamenti che vengono inseriti nel repo remoto
Se sono presenti più rami (master next etc..) lo potete vedere con il comando
per passare al ramo che si desidera
$ git checkout ramochesidesidera
così facendo nella cartella del progetto saranno visibili solo i file di quel ramo
creare un nuovo ramo partendo da quello attuale
$ git checkout -b nuovoramo
Ora provate ad aprire il progetto con gambas
inella barra dell'IDE appare la casella Git dove sono contenuti gli strumenti per gestire il repo
Non ho ancora ben capito l'uso di git da gambas, a volte ci sono cose che non funzionano come mi aspetterei
nelle prossime puntate cercherò di approfondire