Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git for Dummies

Luca Simone
February 04, 2013

Git for Dummies

Presentazione in italiano sul version control system Git.

Luca Simone

February 04, 2013
Tweet

More Decks by Luca Simone

Other Decks in Programming

Transcript

  1. Alcuni comandi base init • Inizializza un nuovo repository all’interno

    della cartella corrente • Crea la sottocartella .git che conterrà tutti i file ad uso interno di git
  2. Alcuni comandi base add • Aggiunge un nuovo file a

    git, che da quel momento ne terrà traccia • Aggiunge un file modificato all’area di staging
  3. Alcuni comandi base commit • Memorizza lo snapshot delle modifiche

    fatte • Obbligatorio inserire un messaggio • Identificato da hash SHA-1
  4. Alcuni comandi base log • Mostra la storia dei commit

    • Per ciascuno elenca autore e messaggio
  5. Alcuni comandi base branch • Consente di continuare lo sviluppo

    su una nuova feature senza impattare sul lavoro corrente • Fortemente utilizzato
  6. Branching $ vi test.rb $ git add . $ git

    commit -m modificato test.rb'
  7. Alcuni comandi base merge • Incorpora nella branch corrente le

    modifiche fatte su un altra branch • Assieme a branch, è un altro comando che git incentiva ad usare spesso
  8. Alcuni comandi base rebase • Altro modo per integrare le

    modifiche di una branch • Prende linearmente tutte le modifiche fatte su una branch e le applica ad un altra
  9. Branching $ git merge experiment $ git rebase experiment Prende

    gli ultimi commit e li «mette assieme», creando un nuovo commit di merge Applica le modifiche di una branch linearmente su un altra branch
  10. Alcuni comandi base pull • Scarica dati da un repository

    remoto e tenta di fare il merge con il branch corrente • pull = fetch + merge
  11. Alcuni comandi base push • Invia branch e dati ad

    un repository remoto • Consente di aggiornare il repository remoto con le modifiche fatte localmente
  12. Topic branches • Branch in cui sviluppare feature • Feature

    terminata (e testata)? merge su develop • Al termine, il branch viene cancellato
  13. Hotfix branches • Per bug fix / interventi veloci •

    Fix terminato, merge su develop • Cancellato al termine del merge • Ha una vita molto breve
  14. Best practices • Fare commit spesso • Aprire una pull

    request il prima possibile • Un commit deve inglobare un insieme atomico di modifiche • NON lavorare N giorni in attesa di aver finito il task! • Al massimo fare tutti i commit alla fine, sfruttando lo staging
  15. Testo del commit • Sommario da max 50 caratteri •

    Seguito (eventualmente) da descrizione più dettagliata • Forma imperativa (es. «Add products section», ...)