• Non ci sono risultati.

Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Introduzione a Università degli Studi di Perugia, Laurea Triennale in Informatica"

Copied!
17
0
0

Testo completo

(1)

Introduzione a

Università degli Studi di Perugia, Laurea Triennale in Informatica

Giacomo Calabresi - Perugia, 06/11/2019

(2)

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.

(3)
(4)

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.

(5)
(6)

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.

(7)

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

(8)

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.

(9)

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

(10)

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

(11)

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

(12)

Check Status (1)

Prima di procedere con la Commit è bene controllare lo “status” della repository...

(13)

Check Status (2)

Aggiungere eventuali file mancanti con l’apposito comando e ricontrollare.

Per annullare eventuali add, usare il comando git reset HEAD nomefile

(14)

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.

(15)

DOMANDE?

Dubbi?

Incertezze?

Perplessità?

(16)

Se è tutto chiaro… Esercizio!

Cliccare il seguente link

https://classroom.github.com/a/P9M1ZyQ w

Clonare la repository in locale e provare a svolgere l’esercizio contenuto nel pdf

(17)

Non solo codice

All’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.

Riferimenti

Documenti correlati

[r]

L'argomento della tesi deve essere coerente con il percorso formativo dello Studente e con gli obiettivi formativi del Corso di Laurea in Geologia.. La tesi può essere sperimentale

Gli studenti provenienti da altri Corsi di Laurea Magistrale o da altre Sedi, a valle del riconoscimento dei CFU già conseguiti, possono presentare un piano di studio individuale,

Gli studenti provenienti da altri Corsi di Laurea Magistrale o da altre Sedi, a valle del riconoscimento dei CFU già conseguiti, possono presentare un piano di studio

Gli studenti provenienti da altri Corsi di Laurea Magistrale o da altre Sedi, a valle del riconoscimento dei CFU già conseguiti, possono presentare un piano di studio individuale,

In base alle informazioni disponibili su WEB, il sistema consente di trasferire denaro dal proprio conto PayPal ad un altro utente tramite un SMS; in pratica è necessario inviare

Integrato (Modulo Generico dell'Attività formativa integrata F1801Q111 - GESTIONE DELLA CONOSCENZA) Anno Corso: 1. 6 F1801Q110M - INFORMATION RETRIEVAL Integrato (Modulo

- Competenze specifiche, relative alle metodologie di analisi, progettazione e sviluppo di banche dati, alle principali tecnologie utilizzate nella realizzazione e gestione di