Het juiste versiebeheer voor uw project kiezen

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Of uw softwareproject groot of klein is, het gebruik van versiebeheer zo snel mogelijk is een goed idee. Azure-opslagplaatsen ondersteunen twee typen versiebeheer: Git en Team Foundation Version Control (TFVC).

Welk versiebeheersysteem moet ik gebruiken?

Git is de standaardprovider voor versiebeheer voor nieuwe projecten. U moet Git gebruiken voor versiebeheer in uw projecten en beginnen met het verplaatsen van uw bestaande TFVC-projecten naar Git. TFVC wordt beschouwd als voltooide functies. Azure DevOps behoudt compatibiliteit met TFVC, maar Git ontvangt alle toekomstige investeringen.

U kunt TFVC-opslagplaatsen met Git in hetzelfde project gebruiken, zodat u TFVC later eenvoudig kunt toevoegen als u gecentraliseerd versiebeheer nodig hebt. Als u een nieuw opslagplaatstype voor een bestaand project wilt instellen, gebruikt u deze instructies.

Git (gedistribueerd)

Git is een gedistribueerd versiebeheersysteem. Elke ontwikkelaar heeft een kopie van de bronopslagplaats op hun ontwikkelcomputer. Ontwikkelaars kunnen elke set wijzigingen doorvoeren op hun ontwikkelcomputer en versiebeheerbewerkingen uitvoeren, zoals geschiedenis en vergelijken zonder een netwerkverbinding. Vertakkingen zijn lichtgewicht. Wanneer u wilt schakelen tussen contexten, kunt u een lokale privébranch maken. U kunt snel van de ene vertakking naar een andere vertakking schakelen tussen verschillende variaties van uw codebasis. Later kunt u de vertakking samenvoegen, publiceren of verwijderen.

Notitie

Git in Visual Studio, Azure DevOps Services en Azure DevOps Server is standaard Git. U kunt Visual Studio gebruiken met Git-services van derden en u kunt ook Git-clients van derden gebruiken met Azure DevOps Server.

Zie Git- en Azure-opslagplaatsen voor meer informatie.

TFVC (gecentraliseerd)

Team Foundation Version Control (TFVC) is een gecentraliseerd versiebeheersysteem. Teamleden hebben doorgaans slechts één versie van elk bestand op hun ontwikkelcomputers. Historische gegevens worden alleen op de server bewaard. Vertakkingen zijn op pad gebaseerd en op de server gemaakt.

TFVC heeft twee werkstroommodellen:

  • Serverwerkruimten : voordat teamleden wijzigingen aanbrengen, checken ze bestanden openbaar uit. Voor de meeste bewerkingen moeten ontwikkelaars zijn verbonden met de server. Dit systeem vereenvoudigt het vergrendelen van werkstromen. Andere systemen die op deze manier werken, zijn Onder andere Visual Source Safe, Perforce en CVS. Met serverwerkruimten kunt u omhoog schalen naar zeer grote codebasissen met miljoenen bestanden per vertakking en grote binaire bestanden.

  • Lokale werkruimten : elk teamlid neemt een kopie van de nieuwste versie van de codebase en werkt indien nodig offline. Ontwikkelaars controleren hun wijzigingen en lossen zo nodig conflicten op. Een ander systeem dat op deze manier werkt, is Subversion.

Zie Wat is Team Foundation-versiebeheer?

Overstappen van TFVC naar Git

Als u bestaande TFVC-opslagplaatsen hebt, kunt u ze migreren naar Git-opslagplaatsen met behulp van het hulpprogramma git-tfs. Met het hulpprogramma kunt u in slechts een paar opdrachten een TFVC-opslagplaats migreren naar een Git-opslagplaats .

Git- en TFVC-mogelijkheden

De volgende tabel bevat een overzicht van hoe TFVC en Git de belangrijkste mogelijkheden van versiebeheer ondersteunen.

Mogelijkheid

TFVC

Git


Wijzigingen

Teamleden kunnen bestanden op hun ontwikkelcomputers gelijktijdig wijzigen. U uploadt (check-in) wijzigingensets naar de server wanneer u ze maakt. U kunt uw wijzigingen op elk gewenst moment uploaden. U kunt echter worden onderbroken door conflicten.

U kunt de opmerking van een wijzigingenset wijzigen nadat u deze hebt ingecheckt. U kunt wijzigingensets koppelen aan werkitems en deze koppelen aan voltooide builds.

Teamleden kunnen bestanden op hun ontwikkelcomputers gelijktijdig wijzigen. U maakt doorvoeringen op uw ontwikkelcomputer onafhankelijk van het bijdragen aan het team. Wanneer u klaar bent, moet u de meest recente doorvoeringen ophalen voordat u uw doorvoer uploadt (pusht) naar de server. Wanneer u trekt, wordt u mogelijk onderbroken door conflicten.

U kunt de meest recente lokale doorvoering wijzigen. U kunt geen oudere doorvoeringen wijzigen. U kunt doorvoeringen koppelen aan werkitems en deze koppelen aan voltooide builds.

U kunt lokale doorvoeringen wijzigen en combineren vanaf de opdrachtprompt.

Vertakking

Padgebaseerde vertakkingen worden voornamelijk gebruikt als langdurige constructies om het risico op verandering tussen functieteams en releases te isoleren. Teamleden stellen doorgaans een andere werkruimte in voor elke vertakking waaraan ze werken.

Wijzigingen in elke vertakking zijn onafhankelijk van elkaar, dus u hoeft ze niet in te checken voordat u van de ene vertakking naar de andere overschakelt. Voor samenvoegen tussen vertakkingen op hetzelfde niveau is een basisloze samenvoeging vereist.

U kunt visualisaties van uw vertakkingsstructuren ophalen en waar uw wijzigingensets zijn samengevoegd.

Zie Vertakkingen gebruiken om risico's te isoleren in Team Foundation-versiebeheer.

Vertakking is lichtgewicht en padonafhankelijk. Veel ontwikkelaars maken een vertakking voor elke nieuwe functie die ze coderen, soms dagelijks. U kunt snel van de ene vertakking naar een andere vertakking schakelen tussen verschillende variaties van uw codebasis. U kunt vertakkingen maken die alleen op uw ontwikkelcomputer bestaan en deze delen als en wanneer u klaar bent.
U moet wijzigingen doorvoeren, vertakkingen, stashs of ongedaan maken voordat u van vertakking wisselt. Samenvoegen is eenvoudig en onafhankelijk van de doorvoering waarop de vertakking is gebaseerd. U kunt vertakkingen vergelijken om te zien welke doorvoeringen er bestaan op welke vertakkingen.

Zie Git-vertakkingen gebruiken om te schakelen tussen contexten, werk op te schorten en risico's te isoleren.

Oplossing van conflicten

Mogelijk moet u conflicten oplossen wanneer u krijgt, inchecken, samenvoegen of dehelve opheffen. U kunt alle soorten conflicten in Visual Studio oplossen.

Mogelijk moet u conflicten oplossen wanneer u gegevens ophaalt of samenvoegt. U kunt inhoudsconflicten in Visual Studio of vanaf de opdrachtprompt oplossen.

File Storage

U kunt grote binaire bestanden inchecken. U kunt nuGet ook in combinatie of als alternatief gebruiken.

U kunt kleine binaire bestanden inchecken zoals u gewone bestanden zou doen. Wanneer u met grote binaire bestanden werkt, gebruikt u Git-LFS om uw grote binaire bestanden op te slaan in Azure-opslagplaatsen.

Geschiedenis

Bestandsgeschiedenis wordt niet gerepliceerd op de clientdev-machine en kan dus alleen worden weergegeven wanneer u verbinding hebt met de server. U kunt de geschiedenis bekijken in Visual Studio en in de webportal. U kunt aantekeningen toevoegen aan bestanden om te zien wie een regel heeft gewijzigd en wanneer ze deze hebben gewijzigd.

Bestandsgeschiedenis wordt gerepliceerd op de clientdev-machine en kan zelfs worden weergegeven wanneer er geen verbinding is met de server. U kunt de geschiedenis bekijken in Visual Studio en in de webportal. U kunt aantekeningen toevoegen aan bestanden om te zien wie een regel heeft gewijzigd en wanneer ze deze hebben gewijzigd.

Uw bestanden taggen

U kunt labels toepassen op een versie van een of meer bestanden vanuit Visual Studio of de opdrachtprompt. Elk bestand kan een label hebben toegepast op een andere versie.

U kunt tags vanaf de opdrachtprompt toepassen op afzonderlijke doorvoeringen. Tags weergeven in het visual Studio-geschiedenisvenster.

Wijzigingen terugdraaien

U kunt een doorvoering terugzetten.

Schaal wijzigen

U kunt werken aan kleine of zeer grote projecten met behulp van lokale werkruimten. Ondersteuning voor grootschalige projecten (miljoenen bestanden per vertakking en grote binaire bestanden) met behulp van serverwerkruimten.

U kunt snel kleine projecten beginnen. U kunt omhoog schalen naar zeer grote projecten, maar u moet vooruit plannen om uw codebasis te modulariseren. U kunt meerdere opslagplaatsen in een project maken.

Server

De volgende tabel bevat een overzicht van de functies die beschikbaar zijn voor de ondersteunde servers voor elk van de versiebeheersystemen.

Mogelijkheid

TFVC

Git


Server

Azure DevOps Services, Azure DevOps Server

Azure DevOps Services, Azure DevOps Server en Git-services van derden

Waarschuwingen

Teamleden kunnen e-mailwaarschuwingen ontvangen wanneer doorvoeringen naar de server worden gepusht.

Controlebaarheid

Omdat uw team al hun werk in een gecentraliseerd systeem controleert, kunt u bepalen welke gebruiker een wijzigingenset heeft ingecheckt en vergelijken om te zien wat ze hebben gewijzigd. Als u een bestand bekijkt, kunt u er aantekeningen aan toevoegen om te bepalen wie een codeblok heeft gewijzigd en wanneer ze het hebben gedaan.

U kunt bepalen welke gebruiker een doorvoering heeft gepusht. (Iedereen kan elke identiteit claimen als auteur of persoon die de doorvoering heeft gemaakt.) U kunt bepalen wanneer er wijzigingen zijn aangebracht en wat er is gewijzigd met behulp van geschiedenis, vergelijking en aantekeningen.

Builds (geautomatiseerd door TFBuild)

U kunt alle TFBuild-mogelijkheden gebruiken om elke gewenste combinatie van inhoud in de projectverzameling te bouwen.

U kunt de meeste TFBuild-mogelijkheden gebruiken om één project tegelijk en een of meer opslagplaatsen tegelijk te bouwen.

Codebeoordelingen

Zie de dag in het leven van een devops-ontwikkelaar: Werk onderbreken, een bug oplossen en een codebeoordeling uitvoeren. Voor lichtgewicht discussies kunt u ook opmerkingen plaatsen en e-mail verzenden over een wijzigingenset vanuit de webportal.

Zie Pull-aanvragen controleren. Voor lichtgewicht discussies kunt u ook een opmerking plaatsen en e-mail verzenden over een doorvoering vanuit de webportal.

Bestanden

Elk project bevat alle bestanden onder één hoofdpad (bijvoorbeeld: $/FabrikamTFVC). U kunt machtigingen toepassen op bestandsniveau. U kunt bestanden vergrendelen.

U kunt door uw bestanden bladeren in de webportal en broncodebeheerverkenner gebruiken in Visual Studio.

Uw project bestaat op slechts één server.

Elk project kan een of meer Git-opslagplaatsen bevatten en elke Git-opslagplaats kan een of meer vertakkingen bevatten. De meest gedetailleerde machtigingen die u kunt toepassen, zijn op een opslagplaats of een vertakking. Bestanden kunnen niet worden vergrendeld.

U kunt door uw bestanden bladeren in de webportal.

U kunt doorvoeringen naar meerdere externe opslagplaatsen pushen, bijvoorbeeld naar zowel uw projectopslagplaats als naar uw website die wordt gehost in Azure.

Kwaliteitspoorten

U kunt ci-builds (continuous integration), gated check-in-builds en check-in-beleidsregels gebruiken.

U kunt CI-builds en gated check-in builds gebruiken via vertakkingsbeleid.

Klant

De volgende tabel bevat een overzicht van de client ondersteunde functies die beschikbaar zijn, afhankelijk van het versiebeheersysteem dat u selecteert.

Mogelijkheid

TFVC

Git


Clientsoftware

Visual Studio

Visual Studio, Visual Studio Code, Eclipse en andere hulpprogramma's van derden

Bestanden

U kunt door uw bestanden bladeren met broncodebeheerverkenner in Visual Studio of met behulp van Windows Bestandenverkenner of de opdrachtprompt.

U kunt door uw bestanden bladeren met behulp van Windows Bestandenverkenner of de opdrachtprompt.

Werk op uw ontwikkelcomputer beheren

Wijzigingen in behandeling en Mijn werkpagina's in Visual Studio Team Explorer.

Pagina's met wijzigingen, doorvoeringen en vertakkingen.

Uw werk onderbreken

U kunt het werk op de pagina Mijn werk onderbreken of uw wijzigingen op de pagina Wijzigingen in behandeling opschorten. Zie Uw werk onderbreken en uw planken beheren voor meer informatie.

U kunt een vertakking maken vanuit Visual Studio of de opdrachtprompt of vanaf de opdrachtprompt.

Visual Studio-compatibiliteit

U kunt alle ondersteunde versies van Visual Studio gebruiken.

U kunt alle ondersteunde versies van Visual Studio gebruiken.

Webportal

U kunt door uw codebasis bladeren (inclusief vertakkingen), geschiedenis bekijken, aantekeningen maken en opmerkingen toevoegen aan wijzigingensets en plankensets en andere taken uitvoeren, zoals ad-hoc downloaden van geselecteerde onderdelen van uw codebasis als een .zip-bestand .

U kunt door uw codebasis bladeren, geschiedenis bekijken, vertakkingen vergelijken, aantekeningen maken en commentaar toevoegen aan doorvoeringen en andere taken uitvoeren, zoals ad-hoc downloaden van geselecteerde onderdelen van uw codebase als een .zip-bestand .

Migratie

Zie Migreren van TFVC naar Git voor meer informatie over het migreren van TFVC naar Git.