Diferència entre revisions de la pàgina «Control de versions»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
(Es crea la pàgina amb « == Introducció == Un sistema de control de versions ens permet: * Tenir un repositori de codi * Centralitzar els col·laboradors en un projecte comú * Facilita el cont…».)
 
Línia 2: Línia 2:
 
== Introducció ==
 
== Introducció ==
 
Un sistema de control de versions ens permet:
 
Un sistema de control de versions ens permet:
* Tenir un repositori de codi
+
* Tenir un repositori de codi (accés per xarxa)
* Centralitzar els col·laboradors en un projecte comú
+
* Mantenir un seguiment de les versions dels arxius i projectes.
* Facilita el control del projecte amb objectius o fites (milestones) i incidències (issues)
+
* Còpia de seguretat i rollback (desfer canvis que no han prosperat).
 +
* Centralitzar els col·laboradors en un projecte comú.
 +
* Alguns (com el GitHub) faciliten el control del projecte amb objectius o fites (milestones) i incidències (issues)
 
*  
 
*  
  

Revisió del 12:12, 10 gen 2014

Introducció

Un sistema de control de versions ens permet:

  • Tenir un repositori de codi (accés per xarxa)
  • Mantenir un seguiment de les versions dels arxius i projectes.
  • Còpia de seguretat i rollback (desfer canvis que no han prosperat).
  • Centralitzar els col·laboradors en un projecte comú.
  • Alguns (com el GitHub) faciliten el control del projecte amb objectius o fites (milestones) i incidències (issues)

Sistemes de control de versions:

  • git
  • Subversion (svn)
  • Mercurial (hg)
  • CVS (ha quedat obsolet)
  • Razor
  • ...

Treballarem amb GIT ja que disposem de la web GitHub.com que ens permet crear repositoris gratuïts si són públics. Si els volem privats s'ha de pagar.

També podríem instal·lar-nos el nostre propi servidor, però GitHub.com ofereix un servei de qualitat, eficient i obert a la comunitat de codi lliure, facilitant la difusió i col·laboració.

Conceptes

Alguns conceptes:

  • Repositori: projecte base
  • Col·laboradors: desenvolupadors participants en un projecte autoritzats a accedir al repositori.
  • Branch: ="branca". Versió alternativa dins del mateix repo. Facilita el desenvolupament de diferents subparts del projecte sense interferir-se. Només disponible en escriptura per als usuaris autoritzats.
  • Fork: ="forquilla". Clonació d'un projecte en un nou repositori. Similar al branch (facilita desenvolupaments paral·lels sense interferències) però no cal tenir autorització, ja que clonem el projecte al nostre espai.
  • Merge: procés per unir dues branques o dos repositoris (fork). Pot produir inconsistències o incompatibilitats que cal administrar correctament.
  • Pull request: el projecte original sol·licita als projectes forked que s'actualitzin, ja que hi ha hagut canvis.
  • Trunk: branca principal d'un projecte.

Altres conceptes relacionats amb el management de projectes:

  • Milestone: fita o objectiu (p.ex. sistema d'autenticació, importació d'arxius, etc.)
  • Issue: pot ser una incidència (bug detectat) o bé una part d'un milestone, una petita fita a aconseguir. Per exemple: error en la càrrega d'arxius (bug), llibreria d'accés a la base de dades, formulari d'entrada i validació, etc.