Share via


Opslagplaatsen importeren en migreren van TFVC naar Git

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

U kunt code migreren van een bestaande TFVC-opslagplaats naar een nieuwe Git-opslagplaats binnen dezelfde organisatie. Migreren naar Git is een betrokken proces voor grote TFVC-opslagplaatsen en -teams. Gecentraliseerde versiebeheersystemen, zoals TFVC, gedragen zich op fundamentele manieren anders dan Git. De switch omvat veel meer dan het leren van nieuwe opdrachten. Het is een verstorende wijziging waarvoor zorgvuldige planning is vereist. U moet nadenken over:

  • Hulpprogramma's en processen reviseren
  • Binaire bestanden en uitvoerbare bestanden verwijderen
  • Uw team trainen

We raden u ten zeerste aan gecentraliseerd versiebeheer te lezen naar Git en de volgende sectie Migreren van TFVC naar Git voordat u de migratie start.

De importervaring is ideaal voor kleine eenvoudige TFVC-opslagplaatsen. Het is ook handig voor opslagplaatsen die al zijn opgeschoond, zoals wordt beschreven in gecentraliseerd versiebeheer naar Git en de volgende sectie Migreren van TFVC naar Git . In deze secties worden ook andere hulpprogramma's aanbevolen voor geavanceerdere configuraties van TFVC-opslagplaatsen.

Belangrijk

Vanwege de verschillen in de manier waarop TFVC- en Git-versiebeheergeschiedenis worden opgeslagen, wordt u aangeraden uw geschiedenis niet te migreren. Dit is de benadering die Microsoft heeft gekozen bij het migreren van Windows en andere producten van gecentraliseerd versiebeheer naar Git.

De opslagplaats importeren

  1. Selecteer Opslagplaatsen, Bestanden.

    Uw vertakkingen weergeven

  2. Selecteer opslagplaats importeren in de vervolgkeuzelijst voor opslagplaatsen.

    Optie Opslagplaats importeren

  3. TFVC selecteren in de vervolgkeuzelijst Brontype

  4. Typ het pad naar de opslagplaats/vertakking/map die u wilt importeren in de Git-opslagplaats. Bijvoorbeeld $/Fabrikam/FabrikamWebsite

  5. Als u de geschiedenis van de TFVC-opslagplaats wilt migreren, klikt u op Geschiedenis migreren en selecteert u het aantal dagen. U kunt maximaal 180 dagen geschiedenis migreren vanaf de meest recente wijzigingenset. Er wordt een koppeling naar de TFVC-opslagplaats toegevoegd in het doorvoerbericht van de eerste wijzigingenset die naar Git wordt gemigreerd. Dit maakt het gemakkelijk om oudere geschiedenis te vinden wanneer dat nodig is.

  6. Geef een naam op voor de nieuwe Git-opslagplaats en klik op Importeren. Afhankelijk van de grootte van het importeren, is uw Git-opslagplaats over enkele minuten gereed.

    Dialoogvenster Opslagplaats importeren

Probleemoplossing

Deze ervaring is geoptimaliseerd voor kleine, eenvoudige TFVC-opslagplaatsen of opslagplaatsen die zijn voorbereid voor een migratie. Dit betekent dat het enkele beperkingen heeft.

  1. De inhoud van de hoofd- of vertakking wordt alleen gemigreerd. Als u bijvoorbeeld een TFVC-project $/Fabrikam hebt met daarin één vertakking en één map, $/Fabrikam wordt de map geïmporteerd terwijl $/Fabrikam/<branch> alleen de vertakking wordt geïmporteerd.
  2. De geïmporteerde opslagplaats en de bijbehorende geschiedenis (indien geïmporteerd) mogen niet groter zijn dan 1 GB.
  3. U kunt maximaal 180 dagen geschiedenis importeren.

Als een van de bovenstaande problemen een obstakel is voor uw import, raden we u aan externe hulpprogramma's zoals Git-TFS te proberen voor het importeren en lezen van onze technische documenten: gecentraliseerd versiebeheer naar Git en de volgende sectie Migreren van TFVC naar Git.

Belangrijk

Het gebruik van externe hulpprogramma's zoals Git-TFS met Microsoft-producten, -services of -platforms is volledig de verantwoordelijkheid van de gebruiker. Microsoft onderschrijft, ondersteunt of garandeert niet de functionaliteit, betrouwbaarheid of beveiliging van dergelijke extensies van derden.

Migreren van TFVC naar Git

Voordat je broncode migreert van een gecentraliseerd versiebeheersysteem naar Git, moet je de verschillen tussen de twee begrijpen en de migratie voorbereiden.

Vereisten

Om migraties eenvoudiger te maken, zijn er een aantal vereisten voordat u de procedure voor het importeren van de opslagplaats in de vorige sectie van dit artikel volgt.

  • Migreer slechts één vertakking. Kies bij het plannen van de migratie een nieuwe vertakkingsstrategie voor Git. Het migreren van alleen de hoofdvertakking ondersteunt een werkstroom op basis van een onderwerpvertakking, zoals GitFlow of GitHub Flow.
  • Voer een tipmigratie uit, zoals in, importeer alleen de nieuwste versie van de broncode. Als TFVC-geschiedenis eenvoudig is, is er een optie om een aantal geschiedenissen tot 180 dagen te migreren, zodat het team alleen kan werken vanuit Git. Zie Uw migratie naar Git plannen voor meer informatie.
  • Sluit binaire assets, zoals afbeeldingen, wetenschappelijke gegevenssets of gamemodellen uit de opslagplaats. Deze assets moeten de Extensie Git LFS (Large File Storage) gebruiken, die niet door het importhulpprogramma wordt geconfigureerd.
  • Houd de geïmporteerde opslagplaats kleiner dan 1 GB.

Als de opslagplaats niet aan deze vereisten voldoet, gebruikt u het Hulpprogramma Git-TFS om uw migratie uit te voeren.

Belangrijk

Het gebruik van externe hulpprogramma's zoals Git-TFS met Microsoft-producten, -services of -platforms is volledig de verantwoordelijkheid van de gebruiker. Microsoft onderschrijft, ondersteunt of garandeert niet de functionaliteit, betrouwbaarheid of beveiliging van dergelijke extensies van derden.

Stappen voor migreren

Het proces voor het migreren van TFVC is over het algemeen eenvoudig:

  1. Bekijk de nieuwste versie van de vertakking van TFVC op uw lokale schijf.
  2. Verwijder binaire bestanden en bouwhulpprogramma's uit de opslagplaats en stel een pakketbeheersysteem in, zoals NuGet.
  3. Configuratierichtlijnen voor versiebeheer converteren. Converteer .tfignore bijvoorbeeld bestanden naar .gitignoreen converteer .tpattributes bestanden naar .gitattributes.
  4. Controleer wijzigingen en voer de migratie naar Git uit.

Stap 1-3 is optioneel. Als er geen binaire bestanden in de opslagplaats staan en u een of meer .gitattributeshoeft in te stellen.gitignore, kunt u rechtstreeks doorgaan naar de wijzigingen inchecken en de migratiestap uitvoeren.

Bekijk de nieuwste versie

Maak een nieuwe TFS-werkruimte en wijs een werkmap toe voor de servermap die naar Git wordt gemigreerd. Hiervoor is geen volledige toewijzing van werkmappen vereist. Alleen mapmappen die binaire bestanden bevatten die moeten worden verwijderd uit de opslagplaats en mappen die versiebeheersysteemspecifieke configuratiebestanden bevatten, zoals .tfignore.

Zodra toewijzingen zijn ingesteld, haalt u de map lokaal op:

tf get /version:T /recursive

Binaire bestanden en buildhulpprogramma's verwijderen

Vanwege de manier waarop Git de geschiedenis van gewijzigde bestanden opslaat door een kopie van elk bestand in de geschiedenis aan elke ontwikkelaar op te geven, zorgt het rechtstreeks inchecken van binaire bestanden bij de opslagplaats ervoor dat de opslagplaats snel groeit en prestatieproblemen kan veroorzaken.

Voor buildhulpprogramma's en afhankelijkheden, zoals bibliotheken, moet u een verpakkingsoplossing gebruiken met ondersteuning voor versiebeheer, zoals NuGet. Veel opensource-hulpprogramma's en -bibliotheken zijn al beschikbaar in de NuGet-galerie, maar voor eigen afhankelijkheden maakt u nieuwe NuGet-pakketten.

Zodra afhankelijkheden zijn verplaatst naar NuGet, moet u ervoor zorgen dat ze niet zijn opgenomen in de Git-opslagplaats door ze toe te voegen aan .gitignore.

Configuratie voor versiebeheer converteren

Team Foundation Version Control biedt een .tfignore bestand, dat ervoor zorgt dat bepaalde bestanden niet worden toegevoegd aan de TFVC-opslagplaats. U kunt het .tfignore bestand gebruiken voor automatisch gegenereerde bestanden, zoals build-uitvoer, zodat ze niet per ongeluk worden ingecheckt.

Als het project afhankelijk is van dit gedrag, converteert u het .tfignore bestand naar een .gitignore bestand.

Platformoverschrijdende TFVC-clients bieden ook ondersteuning voor een .tpattributes bestand dat bepaalt hoe bestanden op de lokale schijf worden geplaatst of die zijn ingecheckt in de opslagplaats. Als een .tpattributes bestand wordt gebruikt, converteert u het naar een .gitattributes bestand.

Wijzigingen controleren en de migratie uitvoeren

Controleer eventuele wijzigingen die binaire bestanden verwijderen, migreren naar pakketbeheer of versiebeheerspecifieke configuratie converteren. Nadat u deze laatste wijziging in TFVC hebt aangebracht, kunt u de import uitvoeren.

Volg de procedure voor het importeren van de opslagplaats om het importeren uit te voeren.

Geavanceerde migraties

Het git-TFS-hulpprogramma is een tweerichtingsbrug tussen Team Foundation-versiebeheer en Git, en u kunt het gebruiken om een migratie uit te voeren. Git-TFS is geschikt voor een migratie met volledige geschiedenis, meer dan de 180 dagen die het importprogramma ondersteunt. Of u kunt Git-TFS gebruiken om een migratie uit te voeren die meerdere vertakkingen en samenvoegingsrelaties bevat.

Voordat u een migratie uitvoert met Git-TFS, moet u er rekening mee houden dat er fundamentele verschillen zijn tussen de manier waarop TFVC en git-archiefgeschiedenis:

  • Git slaat de geschiedenis op als een momentopname van de opslagplaats, terwijl TFVC de discrete bewerkingen registreert die op een bestand zijn opgetreden. Wijzigingstypen in TFVC, zoals hernoemen, ongedaan maken en terugdraaien, kunnen niet worden uitgedrukt in Git. In plaats van te zien dat het bestand is hernoemd naar het bestand A B, wordt alleen bijgehouden dat het bestand A is verwijderd en het bestand B is toegevoegd in dezelfde doorvoering.
  • Git heeft geen directe analogie van een TFVC-label. Labels kunnen een willekeurig aantal bestanden bevatten op elke specifieke versie en kunnen bestanden in verschillende versies weerspiegelen. Hoewel conceptueel vergelijkbaar, verwijzen de Git-tags naar een momentopname van de hele opslagplaats op een bepaald moment. Als het project afhankelijk is van TFVC-labels om te weten wat er is geleverd, bieden Git-tags deze informatie mogelijk niet.
  • Samenvoegingen in TFVC vinden plaats op bestandsniveau, niet in de hele opslagplaats. Alleen een subset van gewijzigde bestanden kan worden samengevoegd van de ene vertakking naar de andere. De resterende gewijzigde bestanden kunnen vervolgens worden samengevoegd in een volgende wijzigingenset. In Git is een samenvoegbewerking van invloed op de hele opslagplaats en kunnen beide sets met afzonderlijke wijzigingen niet worden gezien als een samenvoegbewerking.

Vanwege deze verschillen is het raadzaam om een tipmigratie uit te voeren en uw TFVC-opslagplaats online te houden, maar alleen-lezen, om de geschiedenis weer te geven.

Als u een geavanceerde migratie wilt uitvoeren met Git-TFS, raadpleegt u een enkele vertakking met de geschiedenis of kloont u alle vertakkingen met de samenvoeggeschiedenis.

Belangrijk

Het gebruik van externe hulpprogramma's zoals Git-TFS met Microsoft-producten, -services of -platforms is volledig de verantwoordelijkheid van de gebruiker. Microsoft onderschrijft, ondersteunt of garandeert niet de functionaliteit, betrouwbaarheid of beveiliging van dergelijke extensies van derden.

De werkstroom bijwerken

Het overstappen van een gecentraliseerd versiebeheersysteem naar Git is meer dan alleen het migreren van code. Het team heeft training nodig om te begrijpen hoe Git verschilt van het bestaande versiebeheersysteem en hoe deze verschillen van invloed zijn op dagelijkse werkzaamheden.

Meer informatie over het migreren van gecentraliseerd versiebeheer naar Git.