introduzione a · introduzione a università degli studi di perugia, laurea triennale in...
TRANSCRIPT
![Page 1: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/1.jpg)
Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica
Giacomo Calabresi - Perugia, 06/11/2019
![Page 2: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/2.jpg)
Cos’è Github?
❖ GIT: nome di un software in grado di gestire gli aggiornamenti di un file, senza andare a sovrascrivere le versioni precedenti.
❖ HUB: tradotto in italiano sta per “centro”; possiamo immaginarlo come un enorme magazzino dove salvare dei file.
Si tratta quindi di una piattaforma dove poter caricare e gestire progetti.
![Page 3: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/3.jpg)
![Page 4: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/4.jpg)
Glossario
❖ Repository (repo): spazio virtuale dove immagazzinare i file di un progetto. Una “repo” può essere locale (sul vostro PC) o remota (su Github).
❖ Commit: comando che esegue uno snapshot ai file da inviare a Github.❖ Push: con questo comando si inviano i file selezionati precedentemente.❖ Pull: comando per scaricare gli aggiornamenti da una repo remota alla locale.❖ Fork: copiare una repository.❖ Branch: “ramo” indipendente che compone la repository. Il branch principale è
chiamato master.❖ Merge: unire un branch a un altro già esistente.
![Page 5: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/5.jpg)
![Page 6: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/6.jpg)
Inizializzazione di una repository
Dopo aver effettuato il login, basta cliccare il “+” in alto a destra e selezionare un’opzione, a seconda se si vuole creare una repository vuota o importarne una già esistente.
![Page 7: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/7.jpg)
Nuova repository
Nel caso della creazione di una nuova repository, bisognerà compilare un form e specificare alcuni dettagli:
❖ Nome: possibilmente breve e significativo❖ Descrizione: opzionale, ma utile per spiegare il contenuto❖ Visibilità: pubblica o privata❖ README: se spuntato, la repo conterrà un file chiamato “README.md”, nel
quale si possono inserire informazioni per poter fruire correttamente degli altri file all’interno
❖ Licenza: tipo di licenza per proteggere i diritti dell’autore del codice
![Page 8: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/8.jpg)
Gestione della repository
Terminati i preparativi, si possono aggiungere altri file e gestire download e upload dei contenuti tramite l’apposita barra dei comandi.
Tramite l’upload, i nuovi file saranno aggiunti, mentre file con lo stesso nome saranno sovrascritti a una nuova versione.
![Page 9: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/9.jpg)
Git Pro… con il terminale!❖ (Consigliato) Su Linux / Mac Os:
➢ sudo apt install git❖ Su Windows:
➢ Andare su https://desktop.github.com/ ➢ scaricare e installare il file .exe
![Page 10: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/10.jpg)
Setup di Git da terminale
Da terminale, inserire i seguenti due comandi preliminari:
❖ git config --global user.name "nomeutente"❖ git config --global user.email "indirizzoemail"
Scaricare la repository online creata in precedenza:
❖ cd /mio/percorso/della/repo❖ git clone https://github.com/username/repository
![Page 11: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/11.jpg)
Add to Commit
A questo punto si può iniziare a lavorare con i file del progetto tramite l’editor di testo preferito (Gedit, Atom, ecc…), l’importante è salvare tutto nella repository locale creata dopo il comando git clone.
Selezionare i file da inviare a Github tramite il seguente comando:
❖ git add . : per aggiungere TUTTI i file della directory❖ git add *.estensione : per aggiungere TUTTI i file con una certa
estensione (es: con *.c si aggiungono i file .c)❖ git add nomefile : si aggiunge solo il file nomefile
![Page 12: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/12.jpg)
Check Status (1)
Prima di procedere con la Commit è bene controllare lo “status” della repository...
![Page 13: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/13.jpg)
Check Status (2)
Aggiungere eventuali file mancanti con l’apposito comando e ricontrollare.
Per annullare eventuali add, usare il comando git reset HEAD nomefile
![Page 14: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/14.jpg)
Commit and Push
Con i prossimi comandi, si andranno a salvare le modifiche ai file della repository:
❖ git commit -m “descrizionecommit”❖ git push origin master
Con commit si vanno ad aggiornare i metadati di git che controllano versione dei file e altre caratteristiche, mentre push è il comando per l’invio vero e proprio alla repository remota su Github.
Nota: a questo punto sarà richiesto di inserire nel terminale i propri username e password di Github.
![Page 15: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/15.jpg)
DOMANDE?Dubbi?Incertezze?Perplessità?
![Page 16: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/16.jpg)
Se è tutto chiaro… Esercizio!
Cliccare il seguente link
https://classroom.github.com/a/P9M1ZyQwClonare la repository in locale e provare a svolgere l’esercizio contenuto nel pdf
![Page 17: Introduzione a · Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019. Cos’è Github? GIT: nome di un software](https://reader036.vdocuments.pub/reader036/viewer/2022081405/5f07be5b7e708231d41e8531/html5/thumbnails/17.jpg)
Non solo codiceAll’interno di Github si trovano milioni di repository diverse, moltissime contengono codice sorgente di programmi e script, ma vi sono anche risorse molto interessanti, per esempio:
❖ https://github.com/sindresorhus/awesome : un enorme elenco di materiali relativi a praticamente ogni ambito dell’universo informatico; dalla sicurezza alla programmazione, passando per il gaming.
❖ https://github.com/orsanawwad/awesome-roadmaps : una lista di cose da sapere per raggiungere i massimi livelli per molte figure IT del mondo lavorativo.