Close

Delen

In SVN delen ontwikkelaars bijdragen door wijzigingen door te voeren van een werkkopie op hun lokale computer naar een centrale repository. Vervolgens worden door andere ontwikkelaars deze updates uit de centrale repo naar hun eigen lokale werkkopieën gehaald.

Git’s collaboration workflow is much different. Instead of differentiating between working copies and the central repository, Git gives each developer their own local copy of the entire repository. Changes are committed to this local repository instead of a central one. To share updates with other developers, you need to push these local changes to a public Git repository on a server. Then, the other developers can pull your new commits from the public repo into their own local repositories.

Git-migratie: gecentraliseerde ontwikkeling van SVN vs. gedistribueerde ontwikkeling in Git

Elke ontwikkelaar een eigen volledige repository geven is de kern van gedistribueerd versiebeheer, en het biedt een breed scala aan potentiële workflows. Je kunt meer over deze workflows lezen in onze sectie Git-workflows.

Tot nu toe heb je alleen met een lokale Git-repository gewerkt. Op deze pagina wordt uitgelegd hoe je deze lokale repo naar een openbare repository kunt pushen die op Bitbucket wordt gehost. Door de Git-repository te delen tijdens de migratie kan je team experimenteren met Git-opdrachten zonder dat dit gevolgen heeft voor hun actieve SVN-ontwikkeling. Totdat je klaar bent om over te stappen, is het erg belangrijk om de gedeelde Git-repository's te behandelen als alleen-lezen. Alle ontwikkelingen moeten gecommit worden in de oorspronkelijke SVN-repository.


Maak een Bitbucket-account aan


Als je nog geen Bitbucket-account hebt, moet je er een aanmaken. Hosting is gratis voor maximaal 5 gebruikers, dus je kunt meteen beginnen met experimenteren met nieuwe Git-workflows.

Een Bitbucket-repository aanmaken


Vervolgens moet je een Bitbucket-repository maken. Met Bitbucket is het heel eenvoudig om je gehoste repository's te beheren via een webinterface. Je hoeft alleen maar op de knop Repository aanmaken te klikken nadat je bent ingelogd.

Create repository within Bitbucket

Voeg in het getoonde formulier een naam en beschrijving toe voor je repository. Als je project privé is, laat dan de optie Toegangsniveau aangevinkt zodat alleen aangewezen ontwikkelaars het mogen klonen. Gebruik voor het veld Vertakking de optie Alleen privévertakkingen toestaan. Gebruik Git voor het Type repository, selecteer de tools voor projectbeheer die je wilt gebruiken en selecteer de primaire programmeertaal van je project in het veld Taal.

Create repository fields within Bitbucket
Databases
gerelateerd materiaal

Een volledige Git-repository verplaatsen

Logo Bitbucket
Oplossing bekijken

Git leren met Bitbucket Cloud

Verstuur het formulier om de gehoste repository aan te maken door op de knop Repository aanmaken te klikken. Nadat je repository is ingesteld, zie je de pagina Volgende stappen met een aantal nuttige opdrachten voor het importeren van een bestaand project. Op de rest van deze pagina word je stapsgewijs door deze instructies geleid.

Een externe 'origin' toevoegen


Om het eenvoudiger te maken om commits van je lokale Git-repository naar de Bitbucket-repository te pushen die je zojuist hebt aangemaakt, moet je de URL van de Bitbucket-repo's extern registreren. Een externe locatie is gewoon een handige sneltoets voor een URL. Technisch gezien kun je voor de snelkoppeling alles gebruiken wat je maar wilt, maar als de externe repository dient als de officiële codebase voor het project, dan wordt deze gewoonlijk origin genoemd. Voer het volgende uit in je lokale Git-repository om je nieuwe Bitbucket-repository toe te voegen als de externe origin.

git remote add origin https://<username>@bitbucket.org/<workspace-id>/<repo>.git

Zorg ervoor dat je <username> verandert in je Bitbucket-gebruikersnaam , <workspace-id> in de ID van je workspace en <repo> in de naam van je Bitbucket-repository. Mogelijk kun je ook de volledige URL kopiëren en plakken vanuit de Bitbucket-webinterface.

Git-migratie: een remote origin toevoegen

Nadat je de bovenstaande opdracht hebt uitgevoerd, kun je origin gebruiken in andere Git-opdrachten om naar je Bitbucket-repository te verwijzen.

De lokale repository naar Bitbucket pushen


Vervolgens moet je je Bitbucket-repository vullen met de inhoud van je lokale Git-repository. Dit heet 'pushen' en kan worden gedaan met de volgende opdracht:

git push -u origin --all

Met de optie -u moet Git de branches stroomopwaarts traceren. Zo kan Git je vertellen of de commit-geschiedenis van de externe repo voor- of achterloopt op die van je lokale repo's. De optie --all pusht alle lokale branches naar de externe repository.

You also need to push your local tags to the Bitbucket repository with the --tags option:

git push --tags
Git-migratie: naar Bitbucket-repo pushen

Je Bitbucket-repository is nu in wezen een kloon van je lokale repository. In de webinterface van Bitbucket zou je de volledige commit-geschiedenis van al je branches moeten kunnen bekijken.

De repository met je team delen


Je hoeft nu alleen nog maar de URL van je Bitbucket-repository te delen met andere ontwikkelaars die toegang tot de repository nodig hebben. De URL van elke Git-repository kan gekopieerd en geplakt worden vanaf de startpagina van de repository in Bitbucket:

Share repository url

Als je repository privé is, moet je je teamleden ook toegang verlenen op het tabblad Beheer van de Bitbucket-webinterface. Gebruikers en groepen kunnen beheerd worden door op de link Toegangsbeheer in de linkerzijbalk te klikken.

Git-migratie: toegangsbeheer van Git-repository's

Als alternatief kun je de ingebouwde uitnodigingsfunctie van Bitbucket gebruiken om andere ontwikkelaars uit te nodigen om de repository te vertakken. De uitgenodigde gebruikers krijgen automatisch toegang tot de repository, dus je hoeft je geen zorgen te maken over het verlenen van rechten.

Zodra ze de URL van je repository hebben, kunnen andere ontwikkelaars de repository met git clone naar hun lokale apparaat kopiëren en aan het project werken. Nadat een andere ontwikkelaar bijvoorbeeld de volgende opdracht op zijn lokale computer heeft uitgevoerd, vindt diegene in de map een nieuwe Git-repository met het project met de naam <repo>.

git clone https://<username>@bitbucket.org/<workspace-id>/<repo>.git 

Committen met SVN, niet met Git


Je zou nu je lokale project naar een externe repository moeten kunnen pushen, en je team zou die externe repository moeten kunnen gebruiken om het project op hun lokale apparaten te klonen. Dit zijn alle tools die je nodig hebt om te beginnen met samenwerken met Git. Jij en je team moeten wel doorgaan met het doorvoeren van wijzigingen via SVN totdat iedereen er klaar voor is om over te stappen.

De enige wijzigingen in de Git-repository moeten afkomstig zijn van de oorspronkelijke SVN-repository met behulp van het synchronisatieproces dat op de vorige pagina werd besproken. In alle opzichten betekent dit dat al je Git-repository's (zowel lokaal als extern) alleen-lezen zijn. Je ontwikkelaars kunnen ermee experimenteren en je kunt ze integreren in je bouwproces, maar je moet voorkomen dat je permanente wijzigingen doorvoert met Git.

Git-migratie: de enige wijzigingen in de Git-repo moeten afkomstig zijn van de oorspronkelijke SVN-repo

Samenvatting


In deze stap stel je een Bitbucket-repository in om je geconverteerde Git-repository te delen met andere ontwikkelaars. Je zou nu over alle tools moeten beschikken die je nodig hebt om alle Git-workflows te implementeren die worden beschreven in Git-workflows. Je kunt doorgaan met synchroniseren met de SVN-repository en de daaruit voortkomende Git-commits delen via Bitbucket zolang dat nodig is om je ontwikkelingsteam bekend te maken met Git. Daarna kun je het migratieproces voltooien door je SVN-repository buiten gebruik te stellen.


Deel dit artikel
Volgend onderwerp

Aanbevolen artikelen

Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.

Mensen die samenwerken met een muur vol tools

Bitbucket-blog

Toelichting DevOps

DevOps-leertraject

Demo Den Feature-demo's met Atlassian-experts

Hoe Bitbucket Cloud werkt met Atlassian Open DevOps

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up