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.
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.
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.
gerelateerd materiaal
Een volledige Git-repository verplaatsen
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.
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
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:
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.
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.
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.