back to top

Installare e configurare Git

In questa lezione vedremo come installare Git sui principali sistemi operativi (Linux, MacOs e Windows). Mostreremo quindi come configurarlo prima di usare i diversi comandi nella shell.

Installazione di Git in Windows

Esistono diversi metodi per installare e usare Git su Windows. In questa guida vedremo quello che probabilmente è il metodo più lineare e immediato. Innanzitutto, scarichiamo al seguente indirizzo (https://git-scm.com/downloads) l’ultima versione disponibile di Git.

/pagina download git

Il sito internet dovrebbe riconoscere il nostro sistema operativo e darci la possibilità di scaricare la versione corretta. In caso contrario, possiamo selezionare il sistema operativo preferito e procedere al download. Per quanto riguarda Windows, effettueremo il download di un file eseguibile che ci guida nel processo di installazione. Avviamo quindi l’eseguibile e seguiamo le istruzioni come mostrato nelle immagini sottostanti.

step 1 del processo d'installazione git su windows

Leggiamo il contenuto della licenza e, quando siamo pronti, selezioniamo il pulsante ‘Next’ e proseguiamo l’installazione.

step 2 del processo d'installazione git su windows

Selezioniamo le opzioni d’installazione come mostrato nell’immagine sottostante.

step 3 del processo d'installazione git su windows
step 4 del processo d'installazione git su windows

A questo punto Git ci viene chiesto di selezionare come usare i comandi da linea di comando. Lasciamo selezionata la prima opzione. Git installerà una versione della shell Bash in cui andremo a lanciare i diversi comandi.

step 5 del processo d'installazione git su windows

Scegliamo quindi di installare la libreria OpenSSL che verrà usata da Git per le connessioni HTTPS.

step 6 del processo d'installazione git su windows

Nella schermata successiva, selezioniamo la prima opzione. Git configurerà le impostazioni del ritorno a capo per i file di testo in modo da garantire la compatibilità fra i diversi sistemi operativi.

step 7 del processo d'installazione git su windows
step 8 del processo d'installazione git su windows
step 9 del processo d'installazione git su windows
step 10 del processo d'installazione git su windows
step 11 del processo d'installazione git su windows

Completato il processo d’installazione, lanciamo Git Bash. Possiamo eseguire il comando riportato sotto per verificare che l’installazione sia andata a buon fine. Dovrebbe essere mostrato un messaggio con le informazioni relative alla versione installata di git.

$  git --version
git version 2.15.0
test di funzionamento dell'installazione di git su windows

Nell’immagine in alto abbiamo catturato una finestra della shell in cui abbiamo creato una nuova cartella sul Desktop denominata test. All’interno di quest’ultima abbiamo lanciato il comando git init che, come vedremo già a partire dalla prossima lezione, serve per inizializzare un repository locale. In questo modo diciamo a Git che vogliamo tenere traccia dei file e cartelle presenti nella directory test. Un aspetto positivo dell’installazione su Windows è che, al contrario degli altri sistemi operativi, Git Bash è già configurata con la funzione di autocompletamento dei comandi. Se per esempio iniziamo a digitare git h e premiamo il tasto TAB, verrà automaticamente completato il comando con git help. Ciò vale ovviamente anche per altri comandi e nell’uso quotidiano risulta estremamente utile. Se guardate l’immagine in alto, noterete che, dopo aver digitato il comando git init, il prompt mostra il nome del branch corrente fra parentesi tonde, ovvero (master). Parleremo largamente dei branch nei prossimi articoli per ora ci interessa solo sapere che sono una delle funzionalità più importanti di Git e che può essere di grande aiuto sapere in ogni momento su quale branch ci troviamo. Ecco perché è vantaggioso configurare il prompt della shell in modo che venga mostrata questa informazione. Su Windows il prompt della Bash installata con Git è già configurato in modo da mostrare il nome del branch corrente.

Installazione di Git su macOS

Anche in macOs, è possibile installare Git in diversi modi. Se avete già installato XCode e Command Line Tools, è possibile che Git sia già stato installato sul vostro computer. Potete verificarlo digitando il seguente comando nel Terminale:

$ which git
/usr/local/bin/git

Se ottenete un percorso in risposta, vuol dire che Git è già installato.

Al contrario di Windows, su macOs il prompt della shell non è configurato di default per mostrare le informazioni relative allo stato corrente del repository e del branch. Inoltre, dovremo provvedere a configurare la funzione di autocompletamento. Per questo motivo creiamo (o modifichiamo se è già presente) nella cartella dell’utente un nuovo file .bash_profile.

# spostiamoci nella cartella utente
# Spesso identificata anche con il simbolo ~ (Simbolo Tilde)
$ cd
$ vi .bash_profile

All’interno del file .bash_profile inseriamo le istruzioni seguenti.

# file .bash_profile

if [ -f /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash ]; then
  source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash
fi

if [ -f /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh ]; then
  source /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh
fi

# per maggiori informazioni sulle variabili riportate sotto
# https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh#L8
#
GIT_PS1_SHOWDIRTYSTATE="yes"
GIT_PS1_SHOWSTASHSTATE="yes"
GIT_PS1_SHOWUNTRACKEDFILES="yes"
GIT_PS1_SHOWUPSTREAM="auto"
GIT_PS1_SHOWCOLORHINTS="yes"

export PROMPT_COMMAND='__git_ps1 "┏  [ W ] " "n┗ ➜ ";'

Verifichiamo che sia presente il file git-completion.bash ed eseguiamo i comandi presenti al suo interno nella shell corrente. Ripetiamo lo stesso procedimento per il file git-prompt.sh. Settiamo poi alcune costanti per selezionare le informazioni che devono essere inserite nel prompt (Tralasciamo per il momento la spiegazione dei valori delle variabili non avendo ancora trattato alcuni argomenti fondamentali di Git, una volta letti gli articoli futuri sarà più chiaro e semplice capirne il significato). Alla fine impostiamo il nuovo prompt che mostrerà il solo nome della directory corrente (avremmo dovuto usare w per l’intero percorso) e, solo quando ci troviamo al suo interno, le informazioni relative a un repository Git. In questo caso particolare abbiamo configurato il prompt in modo da occupare due linee. Sulla prima visualizziamo le informazioni relative alla directory corrente, sulla seconda impartiamo i comandi come mostrato nella GIF sottostante.

prompt comandi con informazioni su Git nel terminale di macOs

Una seconda alternativa consiste nell’installare Git attraverso Homebrew. (Trovate le informazioni su come installare Homebrew sul sito ufficiale). All’interno del terminale, installeremo Git usando il seguente comando:

$ brew install git

Una volta completata l’installazione, possiamo verificare che tutto sia andato come previsto digitando i seguenti comandi:

$ git --version
git version 2.15.1
$ which git
/usr/local/Cellar/git/2.15.1/bin/git

Se l’installazione con Homebrew è stata eseguita senza errori, ma eseguendo il comando git –version viene mostrato il messaggio riportato sotto, può darsi che non sia stata configurata correttamente la variabile d’ambiente PATH. In questo caso assicuratevi di aggiungere il percorso all’eseguibile di git nella variabile PATH.

$ git --version
-bash: git: command not found

$ brew info git
git: stable 2.15.1 (bottled), HEAD
Distributed revision control system
https://git-scm.com
/usr/local/Cellar/git/2.15.1 (1,488 files, 34.1MB)
...

# imposta PATH per la sessione corrente
# per settare PATH in maniera permanente, inserire l'istruzione nel file ~/.bash_profile
$ export PATH=/usr/local/Cellar/git/2.15.1/bin:$PATH

A questo punto possiamo configurare il prompt della shell e aggiungere la funzione di autocompletamento dei comandi di Git. Riportiamo nuovamente in basso il contenuto del file (~/.bash_profile)

# file .bash_profile

# se necessario settare PATH col percorso dell'eseguibile di git
# export PATH=/usr/local/Cellar/git/2.15.1/bin:$PATH

if [ -f /usr/local/Cellar/git/2.15.1/etc/bash_completion.d/git-completion.bash ]; then
  source /usr/local/Cellar/git/2.15.1/etc/bash_completion.d/git-completion.bash
fi

if [ -f /usr/local/Cellar/git/2.15.1/etc/bash_completion.d/git-prompt.sh ]; then
  source /usr/local/Cellar/git/2.15.1/etc/bash_completion.d/git-prompt.sh
fi

# configuration variables as documented in: 
# https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh#L8
#
GIT_PS1_SHOWDIRTYSTATE="yes"
GIT_PS1_SHOWSTASHSTATE="yes"
GIT_PS1_SHOWUNTRACKEDFILES="yes"
GIT_PS1_SHOWUPSTREAM="auto"
GIT_PS1_SHOWCOLORHINTS="yes"

export PROMPT_COMMAND='__git_ps1 "┏  [ W ] " "n┗ ➜ ";'

Installazione di Git su Linux

Per quanto riguarda Linux, il modo più facile per installare Git è attraverso il package manager della propria distribuzione. Per esempio su Arch Linux, possiamo lanciare il seguente comando:

$ sudo pacman -S git

Su Fedora, a seconda della versione installata, useremo Yum (fino alla versione 21) oppure dnf (a partire da Fedora 22)

# Installare git usando yum
$ sudo yum install git

# Installare git usando dnf
$ sudo dnf install git

Per quanto riguarda Ubuntu e Debian, possiamo usare il comando sottostante.

$ sudo apt-get install git

Per ottenere l’ultima versione di Git su Ubuntu, può essere necessario aggiungere il PPA (Personal Package Archive) seguente prima di eseguire l’installazione.

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

A questo punto aggiorniamo l’indice dei pacchetti ed eseguiamo l’installazione.

$ sudo apt-get update
$ sudo apt-get install git

Configurazione iniziale

Una volta eseguita l’installazione, possiamo completare la configurazione iniziale di Git. È possibile procedere alla configurazione di Git su più livelli, ovvero per l’intero sistema, per il singolo utente o limitatamente a un solo progetto. Le configurazioni più specifiche sovrascrivono quelle più generiche, per cui, per esempio, possiamo avere delle configurazioni a livello utente che sono sostituite dalle specifiche configurazioni di un determinato progetto. Trascurando le configurazioni a livello di sistema che solitamente sono poco usate, volendo modificare quelle a livello utente, dovremo andare ad editare il file .gitconfig che si trova generalmente al seguente percorso:

  • Cartella utente su sistemi Unix-Like: ~/.gitconfig
  • Su Windows: C: Users<nome-utente>.gitconfig

Per i singoli progetti, invece, troviamo il file di configurazione all’interno della cartella .git. Si tratta infatti del file <percoso-del-progetto>/.git/config.

Anche se è possibile modificare tali file con un editor di testo, è preferibile usare il comando che git mette a disposizione per cambiare la configurazione.

$ git config [<opzioni>] 

La prima cosa da fare, una volta installato Git, è impostare il proprio nome e indirizzo e-mail. Git userà queste informazioni all’interno del repository. Quando infatti chiediamo a Git di salvare un’istantanea della cartella del nostro progetto, Git associerà a tale istantanea anche il nome e la mail della persona che ha effettuato l’operazione (vedremo come fare già a partire dalla prossima lezione). Evidenziamo il fatto che chiunque abbia accesso al repository può visualizzare queste informazioni. Per esempio, se cloniamo un repository da Github, possiamo vedere il nome, l’indirizzo e-mail e l’istante di tempo in cui una persona ha effettuato una certa modifica.

Digitiamo quindi i seguenti comandi per salvare nel file di configurazione dell’utente corrente le informazioni necessarie.

$ git config --global user.name 'Nome Cognome'
$ git config --global user.email nome.cognome@esempio.tld

Una volta inserite le informazioni mostrate sopra, potete chiedere a Git di elencare tutte le impostazioni presenti nel file di configurazione dell’utente corrente. Nel mio caso, verrà mostrato un risultato simile a quello riportato sotto.

$ git config --global --list
user.name=Claudio Marotta
user.email=claudio@esempio.it

Abbiamo accennato che possiamo inizializzare un repository, con il comando git init che digitiamo all’interno della cartella base di un progetto. Supponendo di essere all’interno di tale directory, digitiamo il seguente comando.

# digitiamo il comando all'interno di una directory 
# in cui abbiamo precedentemente eseguito il comando git init
$ git config user.email
claudio@esempio.it

Come potete notare, Git restituirà il valore ereditato dalle configurazioni globali. Proviamo ora a sovrascrivere il valore dell’indirizzo e-mail soltanto per questo repository.

$ git config user.email 'claudio@esempiospeciale.com'

Se ora recuperiamo nuovamente il valore dell’indirizzo e-mail per questo repository, otterremo il nuovo valore impostato.

$ git config user.email 
claudio@esempiospeciale.com

Ovviamente il file di configurazione globale, presente nella home directory non è cambiato come possiamo vedere eseguendo il comando cat.

$ cat ~/.gitconfig
[user]
  name = Claudio M.
  email = claudio@esempio.it
[core]
  editor = vim
[color]
  ui = auto

Notate che all’interno del file .gitconfig sono presenti altre impostazioni suddivise per sezioni. In questo caso particolare avevamo lanciato i seguenti comandi per settare la proprietà core.editor e color.ui.

$ git config --global color.ui auto
$ git config --global core.editor vim

Con il primo comando (in realtà auto è il valore di default) chiediamo a Git di usare dei colori nel mostrare l’output di alcuni comandi nella shell. (Esistono delle configurazioni più specifiche che per il momento trascuriamo, ma che potete trovare nella documentazione ufficiale di Git o digitando il comando git help config) Il secondo comando serve invece per impostare l’editor di default usato da Git. Infatti, eseguendo diversi comandi, git lancerà l’editor di testo predefinito che permetterà all’utente di inserire ulteriori informazioni necessarie per il comando specifico.

Conclusioni

Abbiamo illustrato come installare e configurare Git sui diversi sistemi operativi. Abbiamo presentato alcune semplici configurazioni iniziali che sono sufficienti per iniziare a usare Git. Per ulteriori informazioni sulla configurazione, vi consiglio di leggere la documentazione ufficiale. A partire dal prossima lezione inizieremo a vedere come usarlo e introdurremo alcuni semplici comandi base. Sarà così anche più chiaro perché abbiamo aggiunto il nostro nome e indirizzo e-mail nella configurazione.

Pubblicità