CodeGym /Corso Java /Python SELF IT /Basi di lavoro con Git

Basi di lavoro con Git

Python SELF IT
Livello 12 , Lezione 1
Disponibile

9.0 Un po' di storia

Fin dalla sua creazione, lo strumento Git DVCS aveva un branch predefinito chiamato master. Ogni repository Git aveva un branch master, a meno che lo sviluppatore non prendesse misure esplicite per eliminarlo, cosa che si faceva raramente, poiché il branch master svolge un ruolo importante nel mondo dello sviluppo del software.

L'uso dei termini master e slave (padrone e schiavo) nell'industria informatica ha attirato l'attenzione di tutti nell'estate del 2020, sullo sfondo delle numerose proteste e del crescente disagio sociale. Durante la discussione pubblica sono emerse diverse alternative per master, tra cui default e primary. Tuttavia, il termine più popolare è diventato main.

GitHub ha preso provvedimenti e ha rinunciato al termine master durante l'inizializzazione del repository Git. Il passaggio di GitHub da master a main è possibile nelle impostazioni dell'account Repositories o con il comando:

$ git branch -m master main

Nelle lezioni successive viene usato il termine master. Maggiori dettagli sul passaggio puoi trovarli ai seguenti link:

9.1 Cos'è Git e perché serve

Git è un potente sistema di gestione delle versioni, utilizzato per tracciare le modifiche nel codice sorgente durante lo sviluppo del software. Permette agli sviluppatori di salvare diverse versioni dei file e coordinare il lavoro di più persone su un progetto comune.

Concetti base di Git:

Repository

Un repository (o "repo") è il luogo dove viene conservata l'intera storia del progetto, incluse tutte le modifiche e le versioni dei file. In Git un repository include la directory di lavoro, l'indice (o staging area) e il database degli oggetti.

Commit

Un commit (commit) è uno stato salvato del progetto. Ogni commit in Git contiene informazioni su quali modifiche sono state apportate al progetto, da chi e quando. I commit formano la storia del progetto e permettono di tornare a qualsiasi versione precedente.

Branch

Un branch (branch) è una linea indipendente di sviluppo. Di default, Git crea un branch main (precedentemente master). Puoi creare nuovi branch per sviluppare nuove feature o correzioni, e poi unirli di nuovo nel branch principale.

Merge e Rebase

Merge (merge) e rebase (rebase) sono due modi per integrare modifiche da un branch all'altro. Il merge unisce le storie di due branch, creando un nuovo commit, mentre il rebase sposta i commit di un branch sulla cima di un altro, modificando la storia dei commit.

9.2 Comandi base di Git

Ecco una tabella con i comandi principali di Git per la gestione delle versioni:

Comando Descrizione
git init Inizializza un nuovo repository Git nella directory corrente.
git clone Clona un repository da un URL in una nuova directory.
git add Aggiunge i file all'indice per il prossimo commit.
git commit Registra le modifiche preparate nel repository.
git push Invia le modifiche dal repository locale a quello remoto.
git pull Aggiorna il branch corrente con l'ultima versione dal repository remoto.
git branch Mostra, crea o elimina branch.
git merge Unisce le modifiche del branch specificato nel branch corrente.
git rebase Sposta le modifiche su una nuova base (di solito su un altro branch).

Questi comandi rappresentano gli strumenti principali per lavorare con Git, permettendo di gestire le modifiche al codice, i branch e le fusioni nei progetti di qualsiasi dimensione. Ne parleremo più dettagliatamente nelle lezioni successive.

9.3 Tre posti dove si conserva il codice

Quando utilizzerai il sistema di controllo delle versioni per il tuo codice, il tuo codice, grossomodo, verrà conservato in tre luoghi:

1. Repository remoto:

Questo è il luogo centralizzato per conservare il tuo codice, di solito ospitato su servizi come GitHub, GitLab o Bitbucket. Offrono un'archiviazione centralizzata del codice e sono la base per il lavoro collaborativo.

I repository remoti consentono agli sviluppatori di condividere le loro modifiche, sincronizzare gli sforzi e mantenere una storia delle modifiche del progetto. Inoltre, un repository remoto funge da punto di integrazione per l'automazione dei processi come build, testing e deploy delle applicazioni.

2. Repository locale:

Un repository locale è la tua copia personale del codice, conservata sul tuo computer. In questo repository puoi eseguire tutte le operazioni con Git (commit, branching, merging) senza la necessità di essere connesso a Internet.

I repository locali consentono agli sviluppatori di lavorare in isolamento dai colleghi, sperimentare, creare nuove funzionalità o correggere bug, prima che le modifiche vengano unite (merge) e inviate al repository remoto.

3. Directory di lavoro:

La directory di lavoro sul tuo computer contiene i file attuali del progetto su cui stai lavorando al momento. È il luogo dove puoi vedere e modificare i file, aggiungere nuove funzionalità o correggere errori.

Dopo aver apportato modifiche, puoi aggiungerle all'indice (staging area), e poi registrarle nel repository locale. La directory di lavoro è collegata al branch corrente nel tuo repository e il cambio dei branch modifica il contenuto della directory di lavoro.

Questi componenti insieme forniscono un'infrastruttura potente per la gestione del codice sorgente, permettendo agli sviluppatori di gestire la storia del progetto, collaborare e condividere la responsabilità del codice.

9.4 GitHub è il repository gratuito più popolare

GitHub è la principale piattaforma web per l'hosting del codice sorgente, utilizzando il sistema di controllo delle versioni Git. Fondato nel 2008, è rapidamente diventato uno degli strumenti chiave per gli sviluppatori di tutto il mondo.

GitHub permette agli utenti di creare repository per gestire progetti, controllare e tracciare le modifiche al codice, collaborare con altri sviluppatori e condurre lo sviluppo in modo aperto o privato. Offre funzionalità come fork, branch, pull request e merge, che permettono agli sviluppatori di lavorare facilmente insieme sui progetti.

GitHub include anche funzionalità per il tracciamento dei problemi, richieste di funzionalità, gestione dei compiti e wiki per ogni progetto. La piattaforma si integra con molti strumenti e servizi, offrendo ampie possibilità per l'automazione dello sviluppo, testing e deploy delle applicazioni.

GitHub supporta una vasta comunità di sviluppatori, in cui si discutono attivamente le migliori pratiche di programmazione, gestione dei progetti e molto altro. Questo lo rende non solo uno strumento per la gestione dei progetti, ma anche un centro comunitario dove gli sviluppatori possono condividere conoscenze ed esperienze.

9.5 Registrazione su GitHub

Passo 1. Vai su https://github.com

Passo 2. Registrati…

Passo 3. Clicca sul pulsante "New" per creare un nuovo repository.

Passo 4. Inserisci il nome del repository e configura i suoi parametri.

Passo 5. Aggiungi al progetto il file README – ci servirà in futuro.

Passo 6. Clicca su "Create repository".

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION