Git är ett distribuerat versionskontrollsystem som är designat för att underlätta offentlig eller privat koordinerad utveckling av mjukvara. Varje projekt i Git sparas i ett oberoende arkiv. GitHub är den mest populära webbplatsen för att vara värd för repositories men långt ifrån den enda. Det finns andra offentliga värdsajter som Bitbucket, såväl som alternativ som värdar själv som GitLab. Alla källor fungerar genom samma Git-protokoll, den enda skillnaden för grundläggande användning är URL:en som används.
För att ladda ner ett arkiv så att du kan bidra till dess utveckling måste du klona det. Kloning är en enkel process för offentliga arkiv; i det här fallet behöver du inte ange någon autentiseringsinformation. För att klona ett privat arkiv måste du konfigurera autentiseringsdetaljer och ha behörighet att komma åt arkivet.
För att klona ett offentligt arkiv, hitta helt enkelt nedladdningslänken för arkivet, det kommer att formateras ungefär så här: "https://[url]/[användarnamn]/[projektnamn].git”. Till exempel kan uBlock Origin-annonsblockeraren klonas från https://github.com/gorhill/uBlock.git . Även om den exakta platsen för git-fillänken kan variera för varje webbplats, finns den vanligtvis ovanför och till höger om koden.
Tips: HTTPS och SSH är de bästa protokollen att använda för att ladda ner alla repositories eftersom de använder en krypterad anslutning.
I GitHub finns installationslänken ovan och till höger om koden.
När du har länken öppnar du ett terminalfönster i katalogen där du vill klona förvaret.
Obs: När du klonar ett arkiv placeras innehållet i en underkatalog, du behöver inte skapa en för att det ska infogas i. Till exempel, om du kör klonkommandot i ~/git_projects, kommer förvaret att installeras i underkatalogen ~/git_projects/[repository_title]/.
Tips: ~/ är en Linux-stenografi som indikerar att sökvägen börjar i din användares hemkatalog.
När du är i rätt katalog, kör kommandot "git clone [git_install_link.git]" och processen kommer att slutföras automatiskt. Beroende på storleken på förvaret du klona och hur snabbt ditt internet är, kan nedladdningen ta lite tid.
Att köra kommandot "git clone [git_install_link.git]" kommer att skapa en ny underkatalog och installera förvaret där.
Autentisering till privata arkiv
För privata arkiv är det grundläggande kommandot detsamma, men du måste också tillhandahålla autentisering. Det finns ett antal sätt att autentisera till samarbetsplattformen, medan de flesta delas, de exakta alternativen och hur man aktiverar dem kommer att variera från webbplats till webbplats. Det rekommenderas att du undersöker vilka alternativ som erbjuds av din leverantör och sedan väljer det säkraste alternativet.
Vanliga autentiseringsalternativ är tokens, SSH-nycklar och lösenord. De implementerade alternativen kan variera mellan webbplatser, i allmänhet kan du antingen inkludera lösenordsdetaljer i kommandot eller förkonfigurera en SSH-nyckel eller token i konfigurationsfilerna. Tokens eller SSH-nycklar är de säkraste alternativen, där det är möjligt bör användning av lösenord undvikas eftersom dessa detaljer kan loggas.
De flesta leverantörer kommer att ha guider om hur man konfigurerar de autentiseringsalternativ som stöds för plattformen. Till exempel har Atlassian en detaljerad guide för att konfigurera SSH-autentisering för sin Bitbucket-plattform här .
Tips: Alternativt kan du lägga till ditt användarnamn i konfigurationsfilen med följande kommando: 'git config –global user.name "[ditt användarnamn]"'. Detta användarnamn kommer att användas som standard för alla anslutningar från ditt användarkonto. Den globala konfigurationsfilen finns i "~/.gitconfig".
När du har konfigurerat din nyckelbaserade autentisering kan du helt enkelt köra samma kommando som ovan "git clone [git_install_link.git]" för att klona ett arkiv. Dina referenser kommer automatiskt att användas för autentisering. Om du absolut behöver använda lösenordsbaserad autentisering snarare än säkrare alternativ kommer du att bli ombedd att ange ett användarnamn och lösenord, om det inte finns några andra giltiga autentiseringsmetoder.