5 comandi Git per sviluppare collaborando


Lezione 7 / 53

5 comandi Git per sviluppare collaborando

Di Luca Ferretti


git guida git guida git italiano

Come già anticipato, uno dei punti di forza di Git è il supporto allo sviluppo distribuito di progetti. Sebbene Git offra diverse possibilità per gestire lo sviluppo collaborativo, proviamo subito a presentare il caso di un web developer che voglia apportare il suo contributo a un progetto condiviso già avviato, analizzando, anche qui, i comandi principali.

  • recuperare il repository ospitato su un server remoto
    $ git clone https://example.com/project.git
    Cloning into 'project'...
    remote: Enumerating objects: 19, done.
    remote: Counting objects: 100% (19/19), done.
    remote: Compressing objects: 100% (14/14), done.
    remote: Total 19 (delta 3), reused 16 (delta 3), pack-reused 0
    Receiving objects: 100% (19/19), 112.25 KiB | 281.00 KiB/s, done.
    Resolving deltas: 100% (3/3), done.

     

  • entrare nella directory project creata dallo step precedente
    cd project

     

  • creare un branch
    git branch my-contribution

     

  • passare il branch appena creato
    $ git checkout my-contribution
    Switched to branch 'my-contribution'

     

  • apportare modifiche a file esistenti, oppure aggiungere un file, ed eseguirne il commit, come fatto nella precedente sezione
  • verificare l’attuale sorgente “remota” rel repository
    $ git remote --verbose
    origin  https://example.com/project.git (fetch)
    origin  https://example.com/project.git (push)

     

  • inviare le proprie modifiche su un branch del repository remoto
    git push origin my-contribution

     

Complimenti, hai creato il tuo primo contributo (anche se per ora non ancora nella linea “principale” del progetto) a un progetto remoto!
 

Che cosa abbiamo fatto?

Come sopra: i comandi presentati per lo sviluppo distribuito hanno compiuto le seguenti operazioni:

  • creazione di una copia locale del repository in Git - il comando git clone crea un clone di un repository disponibile su un server; verrà creata una directory locale che contiene la copia completa (da qui il nome clone) del repository remoto, comprensiva di tutta la history e di tutti i commit che la compongono;
  • creazione di un branch in Git - vedremo meglio nel dettaglio cosa è un branch nel prossimo capitolo, per ora è sufficiente pensare ai branch come diverse “linee temporali” del repository; nel momento in cui si clona un repository remoto viene attivato il branch predefinito (il cui nome è tipicamente master o main), il comando git branch impartito ha creato un nuovo branch che “continua” dall’ultimo commit applicato al branch principale.
  • selezione di un branch in Git - è possibile scegliere su quale branch lavorare tramite il comando git checkout; questo comando modifica il contenuto della directory locale del repository riportando il suo contenuto all’ultimo commit applicato su quel branch; i successivi commit verranno applicati solo al branch attualmente selezionato;
  • visualizzazione dei “remote” in Git - il comando git remote permette di sapere a quale sorgente remota sta puntando il nostro clone locale; molto spesso si tratterà di una sola sorgente, ma in funzione della composizione e scelte del team potrebbero esserci più sorgenti remote, eventualmente distinte per sorgenti da cui recuperare le modifiche degli altri sviluppatori (fetch) e sorgenti a cui inviare le nostre modifiche (push);
  • invio delle proprie modifiche in Git - con il comando git push è possibile inviare a un repository remoto (nell’esempio quello nominato origin) quanto presente nel clone locale; in particolare, con il comando indicato sopra, viene inviato il branch my-contribution e tutti i commit in esso contenuti;
     

Approfondiremo più nel dettaglio il flusso di lavoro con repository remote in seguito, ma già con i comandi introdotti finora è possibile creare una serie di modifiche a un progetto preesistente, “raccolte” in un branch separato che, una volta fatto “push” è disponibile a tutti coloro che hanno accesso al repository remoto.

Guida Git in italiano 1 Che cos'è Git? 2 Nascita di Git 3 Principali caratteristiche di Git 4 Riga di comando e UI in Git 5 Come Installare Git 6 5 comandi Git per sviluppatori singoli 7 5 comandi Git per sviluppare collaborando 8 Repository in Git 9 Commit in Git 10 Working Copy in Git 11 Staging Area in Git 12 Branch in Git 13 Remote in Git 14 Inizializzare un nuovo repository con git init 15 Creare una copia di un repository remoto in Git con git clone 16 Configurare le opzioni di Git con git config 17 Il comando Git add in Git 18 Il comando Git commit in Git 19 Il comando Git diff in Git 20 Il comando Git stash in Git 21 .gitignore : i file ignored in Git 22 Il comando Git status in Git 23 il comando Git log in Git 24 Il comando Git tag in Git 25 Il comando Git blame in Git 26 Il comando Git checkout in Git 27 Il comando Git revert in Git 28 Il comando Git reset in Git 29 Il comando Git rm in Git 30 L'opzione Git commit –amend in Git 31 Git rebase –interactive in Git 32 Scorciatoie per comandi frequenti in Git 33 Repository condiviso in Git 34 Il modello Fork & pull 35 Il comando Git remote in Git 36 I principali repository remote di Git: Github, Gitlab e Bitbucket 37 Il comando Git fetch in Git 38 Il comando Git push in Git 39 Il comando Git pull in Git 40 Il comando Git branch in Git 41 Il comando Git checkout in Git 42 Il comando Git merge in Git 43 Risolvere un merge conflict in Git 44 Capire meglio il contenuto dei commit durante un conflitto di merge in Git 45 Workflow Git centralizzato 46 Workflow Git feature branching 47 Workflow Git trunk-based 48 Approccio “forking” in Git 49 Gitflow in Git 50 Messaggi di commit in Git 51 Tagging & Versioning in Git 52 L’opzione merge in Git 53 L’opzione rebase in Git
Scopri i corsi

Le nostre guide possono essere molto utili per muovere i primi passi nel mondo della programmazione, ma se vuoi iniziare una nuova carriera in ambito digital & tech con il supporto costante dei docenti e tantissime esercitazioni pratiche, ti consigliamo di frequentare uno dei corsi della nostra Hackademy!

Scopri i corsi