introduzione a · introduzione a università degli studi di perugia, laurea triennale in...

17
Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica Giacomo Calabresi - Perugia, 06/11/2019

Upload: others

Post on 17-Jun-2020

1 views

Category:

Documents


0 download

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

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

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
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

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
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

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

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

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

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

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

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

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

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

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

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

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

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.