Git is een gedistribueerd versiebeheersysteem dat is ontworpen om de publieke of private gecoördineerde ontwikkeling van software te vergemakkelijken. Elk project in Git wordt opgeslagen in een onafhankelijke repository. GitHub is de meest populaire website voor het hosten van repositories, maar verre van de enige. Er zijn andere openbare hostingsites zoals Bitbucket, evenals zelf-gehoste opties zoals GitLab. Alle bronnen werken via hetzelfde Git-protocol, het enige verschil voor basisgebruik is de gebruikte URL.
Om een repository te downloaden, zodat u kunt bijdragen aan de ontwikkeling ervan, moet u deze klonen. Klonen is een eenvoudig proces voor openbare repositories; in dit geval hoeft u geen authenticatie-informatie op te geven. Om een privé-repository te klonen, moet u authenticatiegegevens configureren en toestemming hebben om toegang te krijgen tot de repository.
Om een openbare repository te klonen, zoekt u gewoon de downloadlink voor de repository, deze zal ongeveer als volgt worden opgemaakt: "https://[url]/[gebruikersnaam]/[project_name].git". De uBlock Origin ad-blocker kan bijvoorbeeld worden gekloond van https://github.com/gorhill/uBlock.git . Hoewel de exacte locatie voor de git-bestandslink voor elke site kan verschillen, wordt deze over het algemeen boven en rechts van de code gevonden.
Tip: HTTPS en SSH zijn de beste protocollen om repositories te downloaden omdat ze een versleutelde verbinding gebruiken.
In GitHub vindt u de installatielink boven en rechts van de code.
Zodra je de link hebt, open je een terminalvenster in de map waarin je de repository wilt klonen.
Opmerking: bij het klonen van een repository wordt de inhoud in een submap geplaatst, u hoeft er geen te maken om deze in te voegen. Als je bijvoorbeeld het clone commando uitvoert in ~/git_projects, zal de repository installeren in de subdirectory ~/git_projects/[repository_title]/.
Tip: ~/ is een Linux-afkorting die aangeeft dat het pad begint in de homedirectory van uw gebruiker.
Als je eenmaal in de juiste map bent, voer je het commando "git clone [git_install_link.git]" uit en het proces wordt automatisch voltooid. Afhankelijk van de grootte van de repository die je kloont en hoe snel je internet is, kan het downloaden enige tijd duren.
Het uitvoeren van het commando "git clone [git_install_link.git]" zal een nieuwe submap maken en de repository daar installeren.
Authenticatie naar privé-repository's
Voor privérepository's is het basiscommando hetzelfde, maar u moet ook authenticatie bieden. Er zijn een aantal manieren om te verifiëren bij het samenwerkingsplatform, terwijl de meeste worden gedeeld, de exacte opties en hoe u ze kunt inschakelen, verschillen van site tot site. Het wordt aanbevolen dat u onderzoekt welke opties uw provider biedt en vervolgens de meest veilige optie kiest.
Veelgebruikte authenticatie-opties zijn tokens, SSH-sleutels en wachtwoorden. De geïmplementeerde opties kunnen per site verschillen. Over het algemeen kunt u wachtwoorddetails opnemen in de opdracht of vooraf een SSH-sleutel of token configureren in de configuratiebestanden. Tokens of SSH-sleutels zijn de meest veilige opties, waar mogelijk moet het gebruik van wachtwoorden worden vermeden omdat deze gegevens kunnen worden vastgelegd.
De meeste providers hebben handleidingen voor het configureren van de ondersteunde authenticatie-opties voor het platform. Bijvoorbeeld, Atlassian heeft een gedetailleerde handleiding voor het configureren van SSH authenticatie voor haar BitBucket platform hier .
Tip: Optioneel kunt u uw gebruikersnaam aan het configuratiebestand toevoegen met het volgende commando: 'git config –global user.name “[uw gebruikersnaam]”'. Deze gebruikersnaam wordt standaard gebruikt voor alle verbindingen van uw gebruikersaccount. Het globale configuratiebestand is te vinden in “~/.gitconfig”.
Zodra je je op sleutels gebaseerde authenticatie hebt geconfigureerd, kun je gewoon hetzelfde commando als hierboven "git clone [git_install_link.git]" uitvoeren om een repository te klonen. Uw inloggegevens worden automatisch gebruikt om te verifiëren. Als u absoluut authenticatie op basis van een wachtwoord moet gebruiken in plaats van veiligere alternatieven, wordt u om een gebruikersnaam en wachtwoord gevraagd, als er geen andere geldige authenticatiemethoden zijn.