Git-opslagplaatsen verplaatsen naar een ander project met een volledige betrouwbaarheidsgeschiedenis

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Git-logo

Als u van plan bent om meerdere Azure DevOps-projecten in één project samen te voegen, vraagt u zich waarschijnlijk af wat u moet doen met alle opslagplaatsen:

  • Moet u projecten verplaatsen of samenvoegen?
  • Moet u de geschiedenis of alleen de meest recente projecten behouden?

Vereiste voorwaarden

Categorie Requirements
Toegang tot het project Lid van een project.
toestemmingen - Code weergeven in privéprojecten: ten minste basistoegang .
- Klonen of bijdragen aan code in privéprojecten: lid zijn van de beveiligingsgroep Inzenders of beschikken over de bijbehorende machtigingen in het project.
- Machtigingen voor vertakking of opslagplaats instellen: Machtigingen beheren zijn machtigingen voor de vertakking of opslagplaats.
- Standaardvertakking wijzigen: Beleidsregels bewerken zijn machtigingen voor de opslagplaats.
- Een opslagplaats importeren: Lid van de beveiligingsgroep Projectbeheerders of met permissie voor Git-projectniveau opslagplaats maken ingesteld op Toestaan. Zie Machtigingen voor Git-opslagplaatsen instellen voor meer informatie.
Services Repositories ingeschakeld.
Gereedschappen Optional. Gebruik az repos opdrachten: Azure DevOps CLI.

Opmerking

In openbare projecten hebben gebruikers met Stakeholdertoegang volledige toegang tot Azure Repos, waaronder het bekijken, klonen en bijdragen aan code.

Categorie Requirements
Toegang tot het project Lid van een project.
toestemmingen - Code weergeven: ten minste basistoegang .
- Kloon of bijdragen aan code: Lid van de beveiligingsgroep Inzenders of bijbehorende machtigingen in het project.
Services Repositories ingeschakeld.

Wat is het scenario?

Zoals weergegeven, moet u de MigrationDemo opslagplaats verplaatsen van FabrikamOld naar het nieuwe Fabrikam teamproject.

Schermopname van het scenario voor het verplaatsen van de repository.

Hoe beweeg ik?

U hebt twee opties voor het verplaatsen, zoals hier wordt beschreven. De importfunctionaliteit is eenvoudiger, maar is alleen beschikbaar in Azure DevOps Services en Team Foundation Server 2017 Update 1 en hoger.

Gebruik de functie om een Git-repository te importeren.

Wanneer u de functie Opslagplaats importeren gebruikt, kunt u een Git-opslagplaats importeren in uw teamproject vanuit Team Foundation Server, Azure Repos of een andere Git-broncodeprovider, zoals GitHub. Zie Een Git-opslagplaats importeren in een project voor meer informatie.

De Git-opslagplaats handmatig migreren

Een lege Git-opslagplaats maken

Selecteer in codeverkenner de naam van de opslagplaats. Selecteer Nieuwe opslagplaats in de lijst, selecteer Git als het type en geef deze een naam.

Schermopname van het maken van een nieuwe opslagplaats.

Nadat de opslagplaats is gemaakt, worden stapsgewijze instructies weergegeven om u te helpen van start te gaan. Kopieer de kloon-URL naar het Klembord.

Schermopname van het deelvenster om nieuwe opslagplaatsgegevens toe te voegen.

Belangrijk

Wis de optie Automatisch koppelingen maken voor werkitems die worden genoemd in een commit-commentaar als u van plan bent om te importeren uit een andere projectverzameling of een vreemde Git-opslagplaats. Anders koppelt Azure DevOps de doorvoeringen aan bestaande werkitems van niet-gerelateerde teamprojecten in de teamprojectverzameling.

Schermopname met opties voor nieuwe opslagplaatsen.

De opslagplaats spiegelen

Schakel over naar een opdrachtprompt voor ontwikkelaars en navigeer naar uw lokale (bron)repository voor het MigrationDemo-repo in FabrikamOld. Voer de git clone --mirror opdracht uit met behulp van de kloon-URL. De opdrachtregel is git clone --mirror https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo.

De clone --mirror opdracht is in dit geval redundant omdat de externe opslagplaats leeg is. Het wordt hier gebruikt als een veilige en eenvoudige manier om de afstandsbediening in te stellen.

Schermopname van het uitvoeren van de Git-kloonopdracht.

De repository pushen

Voer de git push opdracht uit om de lokale wijzigingen naar de externe opslagplaats (doel) te pushen.

Schermopname van het uitvoeren van de Git-pushopdracht.

De --mirror optie wordt gebruikt met zowel de kloon- als pushopdrachten. De optie zorgt ervoor dat alle branches en andere kenmerken worden gerepliceerd in de nieuwe repository.

De nieuwe opslagplaats valideren

Schakel over naar de Azure DevOps-webportal en valideer de nieuwe opslagplaats en de geschiedenis in de CODE-hub .

Schermopname van validatie van opslagplaatsen in CODE Explorer.

Controleer of al uw branches zijn verplaatst naar de nieuwe repository.

De nieuwe opslagplaats configureren

Controleer of de machtigingen en beleidsregels correct zijn geconfigureerd voor de nieuwe opslagplaats. U kunt de beveiliging configureren nadat u een lege Git-opslagplaats hebt gemaakt of in deze fase. Configureer uw builds opnieuw om verbinding te maken met de nieuwe opslagplaats. Stel gebruikers ten slotte op de hoogte van de oorspronkelijke opslagplaats om hun externe apparaten in Visual Studio bij te werken of door de git remote set-url origin opdracht uit te voeren.

> git remote set-url origin https://demo-fabrikam.visualstudio.com/DefaultCollection/Fabrikam/_git/MigrationDemo

Belangrijk

Vergeet niet om het originele project op te ruimen door de repo te verwijderen (wees voorzichtig, er is geen ongedaan maken) of door de branches te vergrendelen zodat niemand ze per ongeluk bijwerkt.

Zie TFS Planning, Disaster Avoidance and Recovery en TFS in Azure IaaS Guide voor meer informatie over het plannen van uw teamprojectverzamelingen en teamprojecten.