Je zou nu de alledaagse taken waarvoor je Git zult gebruiken moeten kunnen uitvoeren. Echter, om enige vorm van samenwerking te hebben in Git is een remote Git repository nodig. Technisch gezien kan je wijzigingen pushen naar en pullen van de persoonlijk repositories van anderen, maar dat wordt afgeraden omdat je vrij gemakkelijk het werk waar anderen mee bezig zijn in de war kunt schoppen als je niet oppast. Daarnaast wil je dat je medewerkers de repository kunnen bereiken, zelfs als jouw computer van het netwerk is; het hebben van een meer betrouwbare gezamenlijke repository is vaak nuttig. De voorkeursmethode om met iemand samen te werken is daarom een tussenliggende repository in te richten waar alle partijen toegang tot hebben en om daar naartoe te pushen en vandaan te pullen.
Een Git server draaien is relatief eenvoudig. Als eerste kies je welke protocollen je de server wilt laten ondersteunen. In het eerste gedeelte van dit hoofdstuk zullen we de beschikbare protocollen bespreken met de voor- en nadelen van elk. De daarop volgende paragrafen zullen we een aantal veel voorkomende opstellingen bespreken die van die protocollen gebruik maken en hoe je je server ermee kunt opzetten. Als laatste laten we een paar servers van derden zien, als je het niet erg vindt om je code op de server van een ander te zetten en niet het gedoe wilt hebben van het opzetten en onderhouden van je eigen server.
Als je niet van plan bent om je eigen server te draaien, dan kun je de direct naar de laatste paragraaf van dit hoofdstuk gaan om wat mogelijkheden van online accounts te zien en dan door gaan naar het volgende hoofdstuk, waar we diverse zaken bespreken die komen kijken bij het werken met een gedistribueerde versiebeheer omgeving.
Een remote repository is over het algemeen een bare repository (kale repository): een Git repository dat geen werkdirectory heeft.
Omdat de repository alleen gebruikt wordt als een samenwerkingspunt, is er geen reden om een snapshot op de schijf te hebben; het is alleen de Git data.
Een kale repository is eenvoudigweg de inhoud van de .git
directory in je project, en niets meer.
Je hebt meerdere opties om een remote Git repository werkend te krijgen zodat je kunt samenwerken met anderen of je werk kunt delen.
Je eigen server draaien geeft je veel controle en stelt je in staat om de server binnen je firewall te draaien, maar zo’n server vraagt over het algemeen een behoorlijke hoeveelheid tijd om in te stellen en te onderhouden. Als je je gegevens op een beheerde server plaatst, is het eenvoudig in te stellen en te onderhouden; maar je moet wel willen dat je code op de server van een derde opgeslagen is, en sommige organisaties staan dit niet toe.
Het zou redelijk eenvoudig moeten zijn om te bepalen welke oplossing of combinatie van oplossingen van toepassing is op jou en jouw organisatie.