Full Stack

Come installare Git

Autore

Manuel Ricci

Dopo un’introduzione teorica, spero, sufficientemente esaustiva è giunto il momento di installare Git sul nostro sistema operativo.

Installare Git su Windows

Partiamo con il mio sistema operativo, Windows. Poco importa la versione, il procedimento è pressoché identico per tutti.

1. Scaricare l’installer

Andate sul sito ufficiale di Git e procede con il download dell’ultima versione per Windows.

sito ufficiale di git.webp

Il monitor in basso a sinistra dello screenshot qui sopra mostra il pulsante per il download.

2. Eseguire l’installer e accettare la licenza

licenza git

Git è open source e viene distribuito sotto licenza GNU General Public License. Conosciuta anche come GPL è arrivata alla terza versione. Il motto è che “Nessuno dovrebbe essere limitato dal software che usa” e dice inoltre, che l’utente deve avere il diritto a quattro libertà:

  • la libertà di usare il software per qualunque scopo,
  • la libertà di modificare il software per adattarlo ai propri bisogni,
  • la libertà di condividere il software con gli amici e i vicini, e
  • la libertà di condividere le modifiche effettuate.

Molti software famosi sono sotto licenza GNU, come ad esempio:

  • Git
  • WordPress
  • Blender
  • Telegram Messenger
  • Linux
  • Qt
  • Gnome

Se vuoi saperne di più ti invito a fare un salto sul sito ufficiale.

Clicca sul pulsante “Next” e passiamo allo step successivo.

3. Selezionare la destinazione d’installazione

cartella installazione git

Qui la scelta sta a voi. Il percorso predefinito a me va bene, ma qualcun’altro potrebbe avere esigenze diverse (software installati su un’altro HDD o partizione).

Se la posizione è ok cliccate su “Next”, altrimenti “Browse…”. Selezionate la destinazione e infine anche per voi “Next”.

4. Selezionare i componenti da installare

selezione dei componenti di git

Lo screenshot qui sopra mozza via la dicitura “Additional icons”, per il resto dovrebbero esserci le medesime voci che compaiono anche a voi.

Capiamole una per una:

Lo screenshot qui sopra mozza via la dicitura "Additional icons", per il resto dovrebbero esserci le medesime voci che compaiono anche a voi.

Capiamole una per una:

  • "Additional icons" > "On the Desktop": La voce principale, se flaggate, flagga tutte le sottovoci e l’unica è “On the Desktop”, qui semplicemente chiede se mostrare l’icona sul Desktop una volta che è terminata l’installazione. Personalmente non metto mai icone sulla scrivania, ma ognuno ha il proprio ordine e le proprie abitudini, quindi fate vobis.
  • “Windows Explorer integration”: Quando userete l’explorer di Windows (giusto per intenderci, è quello per navigare le cartelle con i vostri file) facendo tasto destro nel menu contestuale che si apre (anche qui per intendersi è dove ci sono le voci “copia”, “incolla”, ecc.) vedrete due nuove voci (a seconda di quello che spunterete). Io rimuovo la spunta, non li uso mai.
    • “Git Bash Here”: sarà la voce a menù contestuale che aprirà il terminale Git Bash (riga di comando)
    • “Git GUI Here”: sarà la voce a menù contestuale che aprirà Git con l’interfaccia grafica.
  • “Git LFS”: Sostituisce file di grandi dimensioni (es. audio, video e affini) con puntatori di testo all'interno di Git, mentre memorizza il contenuto del file su un server remoto. Maggiori info qui. Questa opzione la tengo attiva.
  • “Associate .git* configuration files with the default text editor”: i vari file con .git verranno aperti con il vostro editor di testo predefinito (nel mio caso Visual Studio Code). Anche qui l’opzione è da tenere attiva.
  • “Associate .sh files to ben run with Bash”: I file con estensione .sh verranno eseguiti dal terminale Git Bash di cui ho già accennato in precedenza. L’opzione è da tenere attiva.
  • “Check daily for Git for Windows updates”: Giornalmente cerca aggiornamenti per la vostra installazione Git e vi notifica quando ce né una disponibile. Io lo tengo disattivato perché odio le notifiche. Voi fate come preferite.
  • “(NEW!) Add a Git Bash Profile to Windows Terminal”: Windows Terminal è il nuovo terminale di Windows e si possono avere vari profili (terminali) da utilizzare (es. io ho Ubuntu WSL, Prompt dei Comandi, Windows Powershell e Azure Cloud Shell). Per me è sì, voi fate come volete.
  • “(NEW!) Scalar (Git add–on to manage large-scale repositories)”: Installa un add-on per Git (chiamato Scalar) che ottimizza Git per l'utilizzo in repository di grandi dimensioni. Difficile, ma se capita, sono pronto, io la tengo attiva.

Una volta terminato potete fare “Next”.

5. Shortcut nel menu start

aggiungere shortcut git allo start

Se volete la shortcut nel menu start qui potete fare “Next”, altrimenti flaggate “Don’t create a Start Menu folder”, il che è abbastanza chiaro cosa faccia.

6. Scegliere l’editor di default

scegliere editor default di git

Dal menù a tendina dovete selezionare l’editor che volete utilizzare per Git. Io uso Visual Studio Code per ogni cosa, quindi la scelta è abbastanza scontata. Se voi avete altri editor selezionate quello che preferite. Per VS Code chiedo solo di fare attenzione che ci sono due versioni quella dello screenshot e un’altra voce che fa riferimento a VS Code Insider, selezionate la versione che avete installato (per intenderci, VS Code ha l’icona blu, mentre Insider è verde).

Una volta selezionato l’editor, fare clic su “Next”.

7. Cambiare il nome della branch iniziale

selezionare nome branch iniziale

Qui la storia è lunga, ma per una volta la farò breve. Di default il nome della branch iniziale è “master”, ma il progetto Git intende cambiare il nome di default in qualcosa di più inclusivo nel futuro prossimo perché master per alcuni utenti potrebbe risultare offensivo. Se interessati potete vedere qui (è lo stesso link che c’è nello step dell’installazione).

Le due opzioni qui sono:

  • “Lets Git decide”: il nome sarà master, ma potrebbe cambiare (non senza avviso ovviamente)
  • “Override the default branch name for new repositories”: scegliete voi il nome, “main”, “trunk” o “development” sono nomi comuni.

Personalmente vado della seconda opzione e il nome di default della branch iniziale lo imposto a “main”. Voi scegliere come volete. Una volta scelto fate clic su “Next”.

8. Modifica alla variabile d’ambiente PATH

modificare la variabile path

La variabile d’ambiente PATH ci permette di eseguire comandi da terminale. Windows legge la variabile e capisce se ha qualcosa che può eseguire, altrimenti ci sbatte in faccia un bel messaggio di errore.

Qui l’installer di Git ci dà tre opzioni:

  1. “Use Git from Git Bash only”: per usare Git possiamo usare solo Git Bash
  2. “Git from the command line and also from 3rd-party software”: Questa opzione raccomandata ci permette di usare Git da Git Bash, dal terminale di Windows e da altri software di terze parti
  3. “Use Git and optional Unix tools from the Command Prompt”: Git e altri strumenti Unix vengono aggiunti alla variabile PATH. Controindicazione (riportata anche dall’installer) è che strumenti come find e sort di Windows verranno sovrascritti.

Per me la due è l’opzione migliore senza ombra di dubbio. Fate la vostra e cliccate su “Next”.

9. Scegliere il client SSH

scegliere il client ssh

SSH è un sistema di connessione che sfrutta il protocollo SFTP solitamente in ascolto sulla porta 22 e permette di stabilire una connessione sicura all’interno di una rete. Internet è un ovvio esempio di rete.

L’installer offre due opzioni:

  1. “Use bundled OpenSSH”: Il client è quello presente con l’installazione
  2. “Use external OpenSSH”: Git userà il client definito nella variabile PATH

Qui per me la prima è la scelta più opportuna. Fate la vostra e andate avanti.

10. Scegliere la libreria SSL/TLS

scegliere la libreria ssl tls

SSL e TLS sono due protocolli che servono per creare una connessione sicura con il protocollo HTTP (è grazie a loro se abbiamo il lucchetto nella barra degli indirizzi). Se volete saperne di più ho pubblicato uno short a riguardo.

L’installer offre due scelte:

  1. “Use the OpenSSL library”: usa un file ca-bunndle.crt per validare i certificati dei server.
  2. “Use the native Windows Secure Channel library”: usa il Windows Certificate Stores.

Per me la scelta ricade sempre sulla prima. Non ho particolari esigenze, voi, come sempre, fate la vostra scelta. Quando fatta andate avanti.

11. Configurare come Git deve trattare il fine linea nei file di testo

configurare il termine di riga

Anche qui la storia è lunga, ma a raccontarla non sarò io, ma potete trovare molte più informazioni qui. Per semplificare allo stremo la faccenda: il carattere di fine riga su file di testo cambia in base al sistema operativo. Su Windows abbiamo CRLF dove CR sta per Carriage Return e viene indicato con ‘\r’ e LF per Line Feed, il quale viene indicato con ‘\n’. Su Linux c’è solo LF.

L’installer di Git quindi ci chiede come voglia che si comporti.

“Checkout Windows-style, commit Unix-style line ending”: Git convertirà gli LF in CRLF quando controllerà i file, ma in fase di commit convertirà i CRLF in LF. “Checkout as-is, commit Unix-style line endings”: Qui git non fa nulla durante il controllo, ma in fase di commit converte i CRLF in LF. “Checkout as-is, commit as-is”: Git non fa niente.

Come menzionato anche nelle descrizioni, la prima opzione è la più indicata per gli utenti Windows, mentre la seconda per utenti Unix.

Scegliamo quindi la prima e andiamo avanti.

12. Configurare l’emulatore del terminale

configurare emulatore terminale

Qui Git chiede cosa vogliamo usare per usare Git Bash. Le scelte sono due:

  • “Use MinTTY”: è il terminale usato da MSYS2, un software che permette di creare applicazioni per Windows.
  • “Use Windows default console window”: usa il prompt dei comandi di Windows, ma è estremamente limitato per le ragioni che potete leggere direttamente nella didascalia sotto l’opzione.

Dovendo scegliere, preferisco MinTTY. Soprattutto perché è molto colorato (sicuramente molto di più rispetto al Prompt).

Fate la vostra scelta e andata avanti.

13. Scegliere il comportamento di git pull

scegliere comportamento git pull

Qui l’installer mi fa fare un piccolo spoiler sulle lezioni successive. git pull è un comando che permette di aggiornare la versione locale di un repository scaricando le modifiche dalla repo remota.

Qui le scelte sono tre:

  • “Fast-forward o merge”: git pull esegue git fetch con i parametri indicati, se il ramo corrente è indietro rispetto alla cronologia della repo con la quale ci si sta sincronizzando avanzerà alla versione più recente (fast-forward), se invece ci fossero ci fossero delle differenze bisognerà riconciliare i rami divergenti con un merge.
  • “Rebase”: stessa cosa del punto precedente, ma al posto di merge viene eseguito il comando rebase. La differenza sostanziale è che merge permette di unificare due branch differenti, mentre rebase permette di integrare i cambiamenti da una branch ad un’altra.
  • “Only ever fast-forward”: fa solo il fast-forward, se non è possibile per via di branch divergenti, allora fallisce.

La prima opzione è quella che preferisco.

14. Scegliere un credential helper

git credential manager

Git ha introdotto un po’ di tempo fa questo Git Credential Manager, che di fatto è una bomba.

GCM permette di memorizzare in modo sicuro le proprie credenziali e permette la connessione via HTTPS a vari servizi che ospitano le nostre repositories (es. GitHub). GCM evita di creare manualmente i token d’accesso, ma gestisce tutto al posto nostro, inclusa l’autenticazione a due fattori.

La scelta è ovvia. Git Credential Manager tutta la vita. Andiamo avanti.

15. Opzioni extra

opzioni extra di git

  • “Enable file system caching”: Incrementa le performance andando a memorizzare dei file durante alcune operazioni.
  • “Enable symbolic links”: I link simbolici sono file che non fanno altro che puntare ad altri file o cartelle, su Windows i link simbolici sono ancora un po’ troppo acerbi e presentano dei bug, non mi fido ancora abbastanza per attivare questa opzione.

Detto ciò io abilito solo la prima delle due opzioni. Andiamo avanti.

16. Configurare le opzioni sperimentali

configurare esperimenti in git

Queste sono nuove funzionalità che, come dice il nome stesso, sono ancora in fase sperimentale. Raramente attivo gli esperimenti e qui non faccio eccezione, a voi la scelta però. Appena avete fatto cliccate “Install”.

17. Attendere il termine dell’installazione

installazione di git completata

Una volta completata l’installazione Git è pronto nel nostro sistema. Verifichiamo.

18. Verificare che Git sia stato installato correttamente

Per verificare che Git sia stato installato correttamente bisogna aprire il terminale (prompt, powershell, terminal, uno insomma) ed eseguire il comando: git –version e premete invio.

verifica installazione git da windows terminal

Il terminale risponderà con la versione installata di Git, in questo caso la versione 2.40.1.windows.1

Se dovesse darvi errori provate a riavviare il computer e riprovate il comando. Se non dovesse ancora funzionare.

Aggiungere Git alla variabile d’ambiente PATH manualmente

Per aggiungere manualmente una valore alla variabile d’ambiente PATH dovete:

  1. Tasto destro sull’icona dello start e selezionare “Sistema”
  2. Nella finestra che si apre, fare clic su “Impostazioni di sistema avanzate”
  3. Fare clic sul bottone variabile d’ambiente
  4. In variabili di sistema (la sezione sotto) cliccare su “Path” e in seguito su “Modifica”
  5. Cliccare su “Nuova”
  6. Inserire il percorso alla cartella cmd di Git (nel mio caso C:\Program Files\Git\cmd), se nello step 3 avete cambiato destinazione dovete usare quella.
  7. Fare clic su “Ok”
  8. Di nuovo su “Ok”
  9. Ora su “Applica”
  10. Riavviare se necessario

Installare Git su Mac

Per installare Git su Mac si può fare in diversi modi:

Installare Git su Mac con Homebrew

Serve homebrew per poter proseguire:

1brew install git

Installare Git su Mac con MacPorts

Serve MacPorts per poter proseguire:

1sudo port install git

Xcode

Tutti i Mac hanno Xcode installato e Apple mette a disposizione il file binario di Git. Vi basterà scrivere anche solo git --version nel terminale per attivare la procedura guidata per l’installazione.

Oltre a questi tre, ci sono altri modi per installare Git su Mac e li trovate qui, insieme a quelli già elencati.

Installare Git su distribuzione Linux

Per installare Git su una distribuzione Linux si usa il terminale. Il modo più semplice per farlo è attraverso il package manager della distribuzione in uso. Di seguito ne riporto alcuni:

Ubuntu/Debian

1sudo apt-get install git

Per Ubuntu esiste anche una PPA dalla quale è possibile scaricare la versione di Git più stabilie e recente

1sudo add-apt-repository ppa:git-core/ppa

e subito dopo

1apt update; apt install git

Fedora

Se usi Fedora versione 21 o precedenti

1yum install git

Dalla versione 22 in poi

1dnf install git

Altre distribuzioni

Per l’installazione su altre distribuzioni come Gentoo, Arch Linux o openSUSE potete dare un’occhio qui.

Altrimenti se siete interessati alla compilazione da sorgente qui c’è il tarballs. La versione più recente è la 2.9.5.

Conclusioni

Git è stato installato con successo ed è ora di configurarlo come si deve. Ci vediamo nella prossima lezione.

Caricamento...

Diventiamo amici di penna? ✒️

Iscriviti alla newsletter per ricevere una mail ogni paio di settimane con le ultime novità, gli ultimi approfondimenti e gli ultimi corsi gratuiti puubblicati. Ogni tanto potrei scrivere qualcosa di commerciale, ma solo se mi autorizzi, altrimenti non ti disturberò oltre.

Se non ti piace la newsletter ti ricordo la community su Discord, dove puoi chiedere aiuto, fare domande e condividere le tue esperienze (ma soprattutto scambiare due meme con me). Ti aspetto!

Ho in previsione di mandarti una newsletter ogni due settimane e una commerciale quando capita.