Versiebeheersoftware voor professionele teams
Bitbucket ondersteunt versiebeheeroplossingen voor Git.
![Groeiende planten](png/growing%402x4b1a.png)
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.
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.
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.
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.
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](png/distributed4b1a.png)
VERSPREID
![Diagram gecentraliseerde versiebeheersoftware](png/centralized4b1a.png)
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:
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.
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.
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.
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.
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 | VERSPREID | Voeg samen | Actief | Ja |
Mercurial-logo | VERSPREID | Voeg samen | Actief | Ja |
SVN-logo | Client-server | Mergen of vergrendelen | Actief | Nee |
CVS-logo ![]() | Client-server | Voeg samen | Alleen onderhoud | Nee |
Git en versiebeheer
Voordelen van Git-versiebeheer
- Verspreide storingstolerante netwerkarchitectuur
- Geoptimaliseerd voor snelle commits en checkouts
- Niet-destructieve updates door middel van een onveranderlijk logboek
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
Voordelen van oud versiebeheer
- Meer mogelijkheden voor GUI-applicaties
- Meer documentatie en handleidingen
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](png/unlimited4b1a.png)
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](png/integration4b1a.png)
De beste integratie van Jira en Trello
Organiseer je projecten door Bitbucket-branches aan te maken vanuit Jira-issues of Trello-kaarten.
![Continue levering](png/continuous-delivery4b1a.png)
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](jpg/customer-photo4b1a.jpg)
"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."
![Bedrijven die Bitbucket gebruiken](png/logo-strip4b1a.png)
Coderen, beheren en samenwerken
Bitbucket is de Git-oplossing voor professionele teams