02. Installazione e primi comandi
2.1 Installazione
Section titled “2.1 Installazione”- Linux: pacchetto
gitvia package manager della propria distribuzione. - macOS: incluso nei Developer Tool / Xcode; in genere basta digitare
gitin un terminale e confermare l’installazione. - Windows: installer ufficiale dal sito git-scm.com.
Verifica dell’installazione:
$ git --helpusage: git [-v | --version] [-h | --help] ...Nota: negli esempi di questa guida si assume un ambiente Unix-like (Linux/macOS).
2.2 I 5 comandi per lavorare da soli
Section titled “2.2 I 5 comandi per lavorare da soli”Creare e popolare il primo repository:
mkdir primo-progetto && cd primo-progetto
# inizializza il repository nella cartella correntegit init .# Initialized empty Git repository in /home/developer/primo-progetto/.git/
# crea un file vuoto e lo aggiunge al repositorytouch README.mdgit add README.md
# salva la prima versione nella historygit commit -m "creato file vuoto README"# [master (root-commit) 776795e] creato file vuoto README
# visualizza la cronologiagit logModificare il file e salvare una nuova versione:
# (apri README.md in un editor, scrivi qualcosa, salva)
# mostra le differenze tra l'ultimo commit e la working directorygit diff
# mostra lo stato del repositorygit status
git add README.mdgit commit -m "primo contenuto del file README"
# cronologia in formato abbreviatogit log --pretty=oneline --abbrev-commitCosa è successo:
git initcrea il repository nella directory corrente: in pratica una sottodirectory nascosta.gitin cui Git salva cronologia e stato.- La coppia
git add+git commitsalva un gruppo di modifiche nella history: quel gruppo si chiama commit. git statusegit diffdanno informazioni sullo stato attuale del repository.git logmostra la cronologia dei commit, con più o meno dettaglio.
Due regole importanti da tenere a mente:
- 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.
- Non tutte le modifiche finiscono automaticamente in un commit: va indicato cosa includere. Utile per committare solo le modifiche rilevanti.
2.3 I 5 comandi per collaborare
Section titled “2.3 I 5 comandi per collaborare”Contribuire a un progetto già esistente:
# recupera il repository da un server remotogit clone https://example.com/project.git
cd project
# crea un branchgit branch my-contribution
# passa al branch appena creatogit checkout my-contribution# Switched to branch 'my-contribution'
# (modifica i file e salva i commit, come nella sezione precedente)
# verifica le sorgenti remote del repositorygit remote --verbose# origin https://example.com/project.git (fetch)# origin https://example.com/project.git (push)
# invia il proprio branch al repository remotogit push origin my-contributionCosa è successo:
git clonecrea una copia locale completa del repository remoto (tutta la history inclusa) e imposta il remoteorigin.git branchcrea una nuova “linea temporale” che parte dall’ultimo commit del branch principale.git checkoutseleziona su quale branch lavorare, riportando la working copy all’ultimo commit di quel branch.git pushinvia al remote i propri branch e i commit in essi contenuti.