Versiebeheersoftware voor professionele teams

Bitbucket ondersteunt versiebeheeroplossingen voor Git.

Groeiende planten

Wat is een versiebeheersysteem?

Een versiebeheersysteem, ook wel bekend als VCS (version control system), revisiebeheer of bronbeheersysteem is een softwarehulpmiddel dat wijzigingen in een bestandssysteem volgt en beheert. Een VHS biedt bovendien samenwerkingsfunctionaliteiten waarmee deze wijzigingen gedeeld en geïntegreerd kunnen worden met andere VCS-gebruikers. Als je werkt op het niveau van het bestandssysteem, volgt een VCS wat je toevoegt, verwijdert en wijzigt in bestanden en mappen. Een repository is een VCS-term die beschrijft wanneer een VCS en bestandssysteem volgt. Op het niveau van individuele broncodebestanden kan een VCS volgen wat toegevoegd, verwijderd en gewijzigd wordt aan de tekstregels binnen het bestand. Populaire VCS-opties in de softwarebranche zijn Git, Mercurial, SVN en Perforce.

Versiebeheergrafiek

Waar heb ik versiebeheersoftware voor nodig?

VCS is een waardevol hulpmiddel dat veel bijdraagt aan de workflow van teams die samen aan software werken. Ieder softwareproject waarbij meer dan één ontwikkelaar de broncodebestanden beheert, kan eigenlijk niet zonder VCS. Ook projecten met maar één persoon om de bestanden te beheren hebben baat bij een VCS. Er is tegenwoordig eigenlijk geen goede reden meer om een softwareontwikkelingsproject uit te voeren zonder VCS.


Pictogram

Conflictoplossing

Het komt waarschijnlijk tijdens een softwareproject dat door een team uitgevoerd wordt wel eens voor dat meerdere teamleden wijzigingen aan moeten brengen in hetzelfde broncodebestand op hetzelfde moment. Een VCS volgt conflicten tussen verschillende ontwikkelaars en helpt bij het oplossen. Bij deze conflictoplossingswerkzaamheden hoort bovendien een auditspoor dat inzicht geeft in de geschiedenis van een project.

Pictogram statussynchronisatie

Wijzigingen in broncode terugdraaien en ongedaan maken

Zodra een VCS een broncodebestandsysteem bij begint te houden, houdt het een geschiedenis bij van de wijzigingen aan de staat van de broncode gedurende het project. Dit maakt het mogelijk om wijzigingen ongedaan te maken of een broncodeproject terug te zetten naar een vorige staat. Als een bug ontdekt wordt in een livetoepassing, kan de code snel teruggezet worden naar een versie die stabiel is.

Pictogram database

Externe broncodebackup

Als een VCS gebruikt wordt in een project waarin samengewerkt wordt, moet er een externe installatie van de VCS aangemaakt worden om wijzigingen tussen ontwikkelaars te delen. Deze externe VCS-installatie kan op een andere locatie gehost worden met een vertrouwde derde partij, zoals Bitbucket. Dit vormt dan een veilige externe backup. Als het voorkomt dat een laptop gestolen wordt, staat op de externe VCS-installatie nog een exemplaar van de broncode.

Diagram verspreide versiebeheersoftware
VERSPREID
Diagram gecentraliseerde versiebeheersoftware
GECENTRALISEERD

VCS-tools zijn beschikbaar in twee soorten externe architectuur. Deze soorten architectuur zijn gecentraliseerd en verspreid.

Eén van de belangrijkste discussiepunten als je het hebt over de voor- en nadelen van beide soorten is de functie voor externe backups. Een gecentraliseerde VCS heeft één storingspunt, de externe centrale VCS-installatie. Als deze installatie verloren gaat, verlies je productiviteit en gegevens en moet je de installatie vervangen door een nieuwe kopie van de broncode. Als hij tijdelijk niet beschikbaar is, kunnen ontwikkelaars code niet pushen, samenvoegen of terugdraaien. Een architectuur volgens het verspreidingsmodel vermijdt deze valkuilen door een volledige kopie van de broncode te bewaren bij iedere VCS-installatie. Indien een van de hierboven genoemde storingsscenario's voorkomt in het verspreidingsmodel, kan een nieuwe VCS-installatie genomen worden voor de hoofdontwikkeling, waardoor productiviteitsverlies voorkomen wordt.


De voordelen van versiebeheertools

De integratie van een VCS in een softwareontwikkelingsproject brengt allerlei voordelen voor organisatie en beheer met zich mee. Een VCS op zichzelf biedt standaard al de eerder besproken technische voordelen (teamconflictoplossing en samenwerkingshulpmiddelen). Een gehoste VCS-service omhult de standaard-VCS en biedt verbeterde functies. Deze 'verbeterde VCS' is heel indrukwekkend en biedt transparant inzicht in het softwareontwikkelingsproces, wat traditioneel gezien kan worden als een ondoorzichtig creatief proces. De hoogwaardige voordelen die een VCS biedt, zijn de volgende:


Pictogram

Uitgebreide externe integraties

Een VCS kan nog verder uitgebreid worden als je het integreert met een veilige extern gehoste oplossing als Bitbucket. Een gehoste VCS biedt ook eigen uitbreidingen voor andere apps en diensten via integraties als de Atlassian Marketplace. Een VCS die gehost is met Bitbucket maakt het bijvoorbeeld mogelijk om VCS-gegevens te delen met taakvolgsoftware van Jira en het documentatieplatform van de Confluence-kennisdatabase. Dit zijn slechts twee voorbeelden van het brede assortiment aan integraties dat een gehoste VCS te bieden heeft.

Pictogram bericht

Teamcommunicatie

Een gehoste VCS biedt uitgebreide tools voor berichten en forumachtige communicatie, wat onmisbaar kan zijn voor samenwerking in teams. Met deze berichttools kunnen duidelijk geordende gesprekken gevoerd worden bij broncodeontwikkeling per regel. Deze berichttools zijn bovendien niet beperkt tot het bespreken van broncode en kunnen heel waardevol zijn om gesprekken tussen teams over bedrijfsdoelen die te maken hebben met broncodeontwikkeling aan te moedigen.

Pictogram diagramstaaf

Inzicht, metingen en verantwoordelijkheid

Een organisatie die werkt in de techniek kan een gehoste VCS gebruiken om KPI's (key performance indicators) bij te houden en te meten. Een gehoste VCS geeft inzicht in de snelheid en efficiëntie waarmee een softwareontwikkelingsproject vordert. Een gehoste VCS biedt tools om metingen af te nemen zoals: geïmplementeerde nieuwe functies, codeontwikkelingsvelocity, tijd in ontwikkeling, gemaakte en opgeloste bugs, en meer.

Tandwielpictogram

CI/CD pipieline-automatisering

Workflows voor continuous delivery kunnen aangemaakt worden via externe integraties van een gehoste VCS. Een ontwikkelaar gaat een transactie aan om broncodewijzigingen te integreren in de grotere codedatabase. De gehoste VCS kan tijdens dit proces geconfigureerd worden met verscheidene uitbreidingen om het codebeoordelings en -leveringsproces te stroomlijnen. Een eenvoudig config-as-code YAML-bestand kan gebruikt worden om bijvoorbeeld builds, tests en implementaties te automatiseren.

Logo Bitbucket

Meer informatie over versiebeheer

Alle bovengenoemde functies voor versiebeheer zijn vrij beschikbaar met Bitbucket.

Versiebeheersoftware vergelijken

Hier volgt een overzicht en vergelijking van populaire VCS-opties. De belangrijkste observatie op basis van deze vergelijking is dat VCS-opties met een client-server-model niet snel ondersteund worden door moderne gehoste VCS-hostingoplossingen zoals Bitbucket. De VCS-branche richt zich vooral op verspreidingsmodellen.


Software

Netwerkarchitectuur Conflictoplossing Ontwikkelingsstatus Bitbucket-support
Git-logo Git logo Git VERSPREID Voeg samen Actief Ja
Mercurial-logo Mercurial Logo Mercurial VERSPREID Voeg samen Actief Ja
SVN-logo SVN logo SVN Client-server Mergen of vergrendelen Actief Nee
CVS-logo CVS logo CVS Client-server Voeg samen Alleen onderhoud Nee

Git en versiebeheer

Statuscontrole

Voordelen van Git-versiebeheer

  • Verspreide storingstolerante netwerkarchitectuur
  • Geoptimaliseerd voor snelle commits en checkouts
  • Niet-destructieve updates door middel van een onveranderlijk logboek
Statuscontrole

Nadelen van Git-versiebeheer

  • Zwakke support voor grote binaire bestanden
  • Zeer grote repository's met uitgebreide geschiedenis kunnen interacties vertragen
  • Leercurve en niet-intuïtieve opdrachten

Oud versiebeheer

Statuscontrole

Voordelen van oud versiebeheer

  • Meer mogelijkheden voor GUI-applicaties
  • Meer documentatie en handleidingen

Statuscontrole

Nadelen van oud versiebeheer

  • Centraal punt voor storingen en gegevensverlies
  • Afhankelijk van netwerkverbinding voor commits
  • Beperkte support en updatefrequentie

Weet je welke versiebeheersoftware je nodig hebt? Dan kun je nu onze handleiding gebruiken om de juiste coderepository voor je team te kiezen.

Versiebeheersoftware van Bitbucket

Waarom je moet kiezen voor Bitbucket Cloud voor Git- en Mercurial-versiebeheer


Gebouwd voor professionele teams

Bitbucket ondersteunt verdeelde versiebeheer en maakt het eenvoudig om met je team samen te werken aan code. Bitbucket ondersteunt niet alleen versiebeheer voor Git en Mercurial, maar geeft teams ook één plaats om projecten te plannen, te coderen, te testen en te implementeren.

Feestelijke oproep

Gratis onbeperkte privéopslagplaatsen

Gratis voor kleine teams van minder dan 5 mensen. Prijzen schalen mee met de standaard- ($ 2/gebruiker/maand) of premium-abonnementen ($ 5/gebruiker/maand).

Jira-Trello-integratie

De beste integratie van Jira en Trello

Organiseer je projecten door Bitbucket-branches aan te maken vanuit Jira-issues of Trello-kaarten.

Continue levering

Ingebouwde continuous
delivery

Bouwen, testen en implementeren met geïntegreerde CI/CD. Profiteer van configuratie als code en snelle feedbacklussen.

Meer dan 1 miljoen teams zijn blij met Bitbucket

Foto klant

"We zijn overgeschakeld van SVN naar Git met Bitbucket om de workflow tussen onze verspreide teams mogelijk te maken, ontwikkeling te versnellen en code te beheren voor meer dan 60 softwareproducten."

NATE SPARKS, PRODUCT MANAGER
Bekijk hun verhaal
Bedrijven die Bitbucket gebruiken

Coderen, beheren en samenwerken

Bitbucket is de Git-oplossing voor professionele teams