Versitena sistemo estas sistemo, kiu spektas samtempajn ŝanĝojn, kiujn faras teamo de programistoj al komuna projekto.
Specoj
Ekzistas du ĉefaj specoj: klasika klienta-servila (ekzemple CVS) kaj disa (Git, Hg, BitKeeper). Oni povas ankaŭ inventi la trian specon, "lokala" versitena sistemo, sed ĝi estas primitiva parto de ambaŭ unuaj specoj.
Lokala speco
Ĝi estas uzebla, se laboras nur unu programisto. Ĉe ĝi aperas la komandoj (se uzi terminojn de la versitena sistemo Git):
commit
- konservi ŝanĝojncheckout
- rekonstrui unu el konservitaj situaciojclean
- malekzistigi ĉiujn nekonservitajn ŝanĝojnadd
kajrm
- komandoj por elekti dosierojn el labora dosierujo, indajn al commit
Branĉoj
Branĉoj estas utilaj se programisto ankoraŭ ne decidis, kiun direkton elekti.
La klienta-servila speco
Samtempe laboras kelkaj programistoj. Nature, aperas konfliktoj, sed ili solvas ilin kune. Serioza malavantaĝo: ĉiu ano de teamo suferas se servilo rompiĝas.
La disa speco
Oni klonas (angle: "clone") tutan centran deponejon en sian propran komputilon. Do ĉe disaj versitenaj sistemoj malmankas du pluaj komandoj: "pull" (elŝuti novaĵojn el centra deponejo) kaj "push" (sendi siajn ŝanĝojn al centra deponejo). Krom ĉi tiujn du komandojn oni uzas ordinarajn komandojn el CVS kaj Subversion (add, commit, update ktp) por manipuli propran kopion de centra deponejo. Post ĉiuj disvolvantoj faru siajn taskojn, ili puŝas (angle: "push") la ŝanĝojn al la centra servilo, kiu kunfandas ĉies ŝanĝojn. Ĉiuj poste tiras (angle: "pull") la ŝanĝarojn al sia propra deponejo.