Corso Python Deltapromo - Lezione 3

375 views
326 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
375
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Corso Python Deltapromo - Lezione 3

    1. 1. INTRODUZIONE A MERCURIAL Lezione 3 Paolo Ferretti per DeltapromoURL corso: http://corso-deltapromo.paoloferretti.net/ http://www.paoloferretti.net paolo@paoloferretti.net
    2. 2. MERCURIAL• Software distribuito per la gestione del codice• Scritto in Python e C• Opensource• Scaricabile da http://mercurial.selenic.com/
    3. 3. UN PO’ DI STORIA•I suoi antenati sono CVS e SVN• Sistemi centralizzati• Merge poco efficiente
    4. 4. PERCHÈ MERCURIAL• Quando si lavora in team, spesso di lavora sullo stesso file• Si creano conflitti• Si introducono bug• C’è la necessità di versionare il codice
    5. 5. VANTAGGI DI MERCURIAL• Col codice versionato abbiamo una macchina del tempo • possiamo fare rollback delle modifiche • abbiamo tutta la storia delle modifiche di ogni file
    6. 6. VANTAGGI DI MERCURIAL• Ilcodice non è in un luogo centralizzato, ma è distribuito su più macchine• Più elasticità nella gestione dei permessi nel team di lavoro• Il codice è facilmente copiabile/trasferibile/aggiornabile• Il processo di sviluppo e deploy può essere automatizzato
    7. 7. PER INIZIARE• hg init • crea un repository nella cartella corrente• definire subito il file .hgignore • permette di indicare da subito i file che non devono essere versionati • ad esempio: file di progetto del nostro IDE preferito
    8. 8. REPOSITORY• Ogni repository è contenuto nella cartella .hg, posizionata nella root del progetto• In .hg c’è il file hgrc con le impostazioni del repository
    9. 9. COMMIT• hg ci -m “messaggio del commit” • effettua il commit dei file modificati / aggiunti• Ogni commit viene registrato con un id alfanumerico unico
    10. 10. VERIFICA STATO• hg status • verifica lo stato dei file • modificato • aggiunto • rimosso
    11. 11. PUSH• hg push • effettua il push dei commit locali su un repository remoto• E’ unodei due step importanti per sincronizzare il proprio lavoro con gli altri membri del team
    12. 12. PULL• hg pull • scarica le modifiche da un repository remoto• L’operazione in sè non modifica alcun file, ma si limita a scaricare nel repository locale le modifiche
    13. 13. UPDATE• hg up • effettua l’update dei file dal repository locale• In caso di conflitti, va seguito da un • hg merge • il quale effettua il merge automatico dei file che confliggono• Il plugin fetch effettua pull, update e merge automaticamente
    14. 14. IN CASO DI CONFLITTI• Seci sono conflitti che non si possono risolvere in automatico, si interviene manualmente• hg resolve -l • restituisce la lista dei file che confliggono• hg resolve -m /path/to/file • indica a mercurial che abbiamo risolto il conflitto

    ×