Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Git è un sistema di controllo di versione distribuito (DVCS - Distributed Version Control System). Gli aspetti principali di un sistema di controllo versione riguardano:

  • tracciare la storia di un progetto e poter lavorare con le versioni precedenti;
  • permettere la collaborazione di più persone allo stesso progetto;
  • organizzare e semplificare l'andamento del progetto.

A differenza di programmi come CVS o Subversion, e in modo simile a Mercurial o Baazar, Git è caratterizzato da una gestione localizzata, ovvero è utilizzabile con repository locali invece che esclusivamente remoti. Sistemi come Subversion adottano un repository centrale (server o servizio web) in cui risiede il progetto. In tali sistemi, la sincronizzazione del lavoro e il salvataggio delle modifiche (commit) avvengono direttamente sul repository centralizzato.

Git lavora invece in locale. Ogni directory di lavoro è un repository autosufficiente. Operazioni come commit, consultazione dei log e molte altre azioni vengono eseguite localmente, senza necessità di un server esterno. La sincronizzazione con altri repository (server centrale, altri PC in rete, ecc.) avviene solo quando necessario. Ciò garantisce maggiore flessibilità e velocità d'esecuzione.

Installazione

Installare Git è necessario:

Digitare in un terminale il seguente comando:

sudo apt install git

Configurazione base

Dopo l'installazione è necessario definire l'identità dell'utente per firmare correttamente i commit.

Definizione utente

Impostare il nome utente e l'indirizzo e-mail da utilizzare per l'identificazione nei progetti:

git config --global user.name "NOME_UTENTE"
git config --global user.email INDIRIZZO_E-MAIL

sostituendo le diciture NOME_UTENTE e INDIRIZZO_E-MAIL con i dati corretti. In questa guida viene preso come esempio l'utente Mario Rossi con indirizzo email mario.rossi@mail.com; in questo caso i comandi diventano:

git config --global user.name "Mario Rossi"
git config --global user.email mario.rossi@mail.com

È possibile modificare questi dati per un singolo repository omettendo l'opzione --global.

È consigliato impostare l'alias lg per una versione personalizzata del comando log, al fine di migliorarne la leggibilità:

git config --global alias.lg "log --pretty=format:'%C(yellow)%h%Cred%d%Creset - %C(cyan)%an %Creset: %s %Cgreen(%cr)' --decorate --graph --all --abbrev-commit"

Creazione repository

Per creare un nuovo progetto o per importare (clonare) un progetto esistente, vengono descritte di seguito le procedure.

Creazione nuovo repository

  1. Creare la directory gitproject nella propria cartella Home, digitare nel terminale i seguenti comandi:

     mkdir ~/gitproject
  2. Spostarsi all'interno della cartella creata:

     cd ~/gitproject
  3. Per inizializzare un repository vuoto, digitare:

     git init

    Verrà restituito un messaggio simile al seguente:

     Inizializzato un repository Git in /home/mario/gitproject/.git/

    All'interno di ~/gitproject sarà presente la cartella nascosta .git contenente tutte le informazioni del repository. Questa cartella è fondamentale poiché contiene l'intera cronologia e i dati di controllo.

Clonazione repository

  • Per scaricare un progetto già esistente su di un server, il comando da eseguire è:

     git clone PERCORSO/PROGETTO

    Verrà creata nella propria Home una cartella col nome del progetto in cui saranno copiati i contenuti.

  • Se invece si preferisce clonare il repository in una cartella specifica, basta aggiungere il percorso al comando:

     git clone PERCORSO/PROGETTO PERCORSO/LOCALE

Commit

Attraverso il commit è possibile aggiungere, rimuovere e modificare i file del repository. Consultare la seguente pagina.

Branching

Git permette una gestione avanzata dei branch (rami di sviluppo). Consultare la seguente pagina.

Repository remoti

Tramite gli strumenti fetch, pull e push è possibile sincronizzare il lavoro tra diversi utenti. Consultare la seguente pagina.

Ulteriori risorse


CategoryProgrammazione