Wat is versiebeheersing

Process and methodology Domande frequenti

wat is versiebeheersing?

Als ontwikkelaar bent u ongetwijfeld bekend met Source Code Control (SCC). Wanneer u alleen werkt, hoeft u bronnen niet met andere ontwikkelaars te delen en is het gebruik van SCC meestal niet nodig. Als u echter in een team werkt, moet u bronnen delen.

U zou kunnen zeggen: "Het is eenvoudig: zet alle bronnen op een netwerkstation en verschillende ontwikkelaars kunnen eraan werken?" Ja, dat is een mogelijke oplossing. Maar wat gebeurt er als twee ontwikkelaars hetzelfde bestand wijzigen? U heeft gelijk; de wijzigingen van een van hen gaan verloren. Versiebeheersystemen helpen dit probleem te voorkomen.

Het concept is om onlangs toegevoegde bronnen op een server op te slaan en deze niet rechtstreeks te wijzigen. Elke ontwikkelaar krijgt zijn eigen kopie. Als een ontwikkelaar een bestand wil wijzigen, voert hij een checkout uit (informeert anderen dat hij dat bestand gaat wijzigen); wanneer de wijziging voltooid is, uploadt hij (of checkt in) het bestand naar de server. De server lost conflicten automatisch op regelniveau op (wanneer twee gebruikers hetzelfde bestand wijzigen), dus als de ene ontwikkelaar de bovenste regels wijzigt en de ander de onderste, wordt het bestand automatisch samengevoegd. Als zij dezelfde regels wijzigen, moet de ontwikkelaar die als laatste de wijzigingen uploadt het conflict handmatig oplossen, maar dat gebeurt zeer zelden.

Dit is de hoofdfunctie van een versiebeheersysteem. Bovendien bieden versiebeheersystemen enkele aanvullende nuttige functies, zoals versiebeheer (visueel), terugdraaien, meldingen, tags, branches, geschiedenis en vergrendelingen enzovoort. Dankzij deze functies is het gebruik van versiebeheersing nuttig voor een individuele ontwikkelaar in zijn werk, omdat het backups van verschillende versies van broncode onnodig maakt.


Comments