Skip to content

02. Installazione e primi comandi

  • Linux: pacchetto git via package manager della propria distribuzione.
  • macOS: incluso nei Developer Tool / Xcode; in genere basta digitare git in un terminale e confermare l’installazione.
  • Windows: installer ufficiale dal sito git-scm.com.

Verifica dell’installazione:

Terminal window
$ git --help
usage: git [-v | --version] [-h | --help] ...

Nota: negli esempi di questa guida si assume un ambiente Unix-like (Linux/macOS).

Creare e popolare il primo repository:

Terminal window
mkdir primo-progetto && cd primo-progetto
# inizializza il repository nella cartella corrente
git init .
# Initialized empty Git repository in /home/developer/primo-progetto/.git/
# crea un file vuoto e lo aggiunge al repository
touch README.md
git add README.md
# salva la prima versione nella history
git commit -m "creato file vuoto README"
# [master (root-commit) 776795e] creato file vuoto README
# visualizza la cronologia
git log

Modificare il file e salvare una nuova versione:

Terminal window
# (apri README.md in un editor, scrivi qualcosa, salva)
# mostra le differenze tra l'ultimo commit e la working directory
git diff
# mostra lo stato del repository
git status
git add README.md
git commit -m "primo contenuto del file README"
# cronologia in formato abbreviato
git log --pretty=oneline --abbrev-commit

Cosa è successo:

  • git init crea il repository nella directory corrente: in pratica una sottodirectory nascosta .git in cui Git salva cronologia e stato.
  • La coppia git add + git commit salva un gruppo di modifiche nella history: quel gruppo si chiama commit.
  • git status e git diff danno informazioni sullo stato attuale del repository.
  • git log mostra la cronologia dei commit, con più o meno dettaglio.

Due regole importanti da tenere a mente:

  1. Non tutto il contenuto di una directory entra automaticamente nel repository: i file vanno esplicitamente aggiunti. Utile per escludere, ad esempio, i file di build.
  2. Non tutte le modifiche finiscono automaticamente in un commit: va indicato cosa includere. Utile per committare solo le modifiche rilevanti.

Contribuire a un progetto già esistente:

Terminal window
# recupera il repository da un server remoto
git clone https://example.com/project.git
cd project
# crea un branch
git branch my-contribution
# passa al branch appena creato
git checkout my-contribution
# Switched to branch 'my-contribution'
# (modifica i file e salva i commit, come nella sezione precedente)
# verifica le sorgenti remote del repository
git remote --verbose
# origin https://example.com/project.git (fetch)
# origin https://example.com/project.git (push)
# invia il proprio branch al repository remoto
git push origin my-contribution

Cosa è successo:

  • git clone crea una copia locale completa del repository remoto (tutta la history inclusa) e imposta il remote origin.
  • git branch crea una nuova “linea temporale” che parte dall’ultimo commit del branch principale.
  • git checkout seleziona su quale branch lavorare, riportando la working copy all’ultimo commit di quel branch.
  • git push invia al remote i propri branch e i commit in essi contenuti.