Wat is GitHub en hoe gebruik je het?

Auteur: Gepubliceerd

Kort gezegd: GitHub is een online platform om projecten op te slaan, wijzigingen bij te houden en samen te werken aan code en documentatie. Het gebruikt Git, een systeem dat de wijzigingsgeschiedenis van bestanden vastlegt. Je kunt GitHub gebruiken voor eigen projecten, samenwerking in een team of het melden van fouten in programma’s van anderen. Je hoeft niet meteen terminalcommando’s te kennen.

GitHub en Git — wat is het verschil?

Git is een versiebeheersysteem: een hulpmiddel waarmee je opeenvolgende versies van een project kunt vastleggen, wijzigingen kunt vergelijken en naar eerdere versies kunt terugkeren. Het werkt lokaal op je computer en vereist geen account bij een online dienst. In plaats van mappen als ‘project-definitief’ en ‘project-definitief-aangepast’ te maken, sla je wijzigingen op met een beschrijving.

GitHub is een dienst die Git gebruikt en daar een gedeelde plek voor het project, codebeoordeling, discussies en toegangsbeheer aan toevoegt. GitHub en Git zijn dus niet twee namen voor hetzelfde hulpmiddel. Je kunt Git zonder GitHub gebruiken, ook met andere platforms zoals GitLab of Bitbucket.

De centrale werkplek is een repository: een verzameling projectbestanden met hun wijzigingsgeschiedenis. Een repository op GitHub kan openbaar zijn, dus zichtbaar voor iedereen, of privé, met toegang voor alleen bevoegde personen. Een privérepository is echter geen vervanging voor veilige gegevensopslag.

Waarvoor gebruik je GitHub in de praktijk?

GitHub wordt vooral gebruikt voor softwareontwikkeling, maar je kunt er ook documentatie, lesmateriaal of tekstbestanden van een website opslaan. Het is vooral geschikt voor inhoud waarbij het nuttig is om wijzigingen regel voor regel te vergelijken. Het is minder handig als algemene opslagplek voor grote video’s, foto’s of documenten die in een kantoorpakket moeten worden bewerkt.

Het platform helpt bij een aantal samenhangende taken:

GitHub Pages is geen algemene hostingdienst voor applicaties met een database en code die op de server wordt uitgevoerd. Een project in een repository plaatsen betekent ook niet dat de applicatie meteen op een openbaar adres werkt. Daarvoor moet je de applicatie in een geschikte omgeving laten draaien.

Hoe werk je samen aan wijzigingen?

Stel je een team voor dat een bedrijfswebsite beheert. De ene persoon verbetert het contactformulier, terwijl de andere de prijslijst aanpast. Beiden kunnen op afzonderlijke branches werken: parallelle ontwikkellijnen van het project, zonder meteen de hoofdversie te wijzigen.

Wijzigingen leg je vast in commits. Een commit is een vastgelegde toestand van het project met informatie over de auteur en een beschrijving, bijvoorbeeld ‘Verbeter de validatie van e-mailadressen’. Kleine commits met duidelijke beschrijvingen maken het later gemakkelijker om te begrijpen hoe een bepaalde aanpassing tot stand is gekomen.

Wanneer het formulier klaar is, opent de auteur een pull request: een voorstel om de wijzigingen samen te voegen met een gekozen branch, meestal de hoofdbranch. De anderen zien de verschillen, kunnen opmerkingen toevoegen en de testresultaten bekijken. Na de beoordeling kunnen de wijzigingen worden samengevoegd. Die handeling heet een merge.

Als twee personen hetzelfde onderdeel op verschillende manieren wijzigen, kan er een conflict ontstaan. Git kan dat niet altijd automatisch oplossen: iemand moet bepalen welke versie, of welke combinatie van versies, correct is. Het platform ondersteunt samenwerking, maar vervangt de beoordeling van de codekwaliteit niet.

Hoe begin je zonder kennis van de terminal?

Om openbare repository’s te bekijken heb je meestal geen account nodig. Een account is nuttig als je eigen projecten wilt maken, opmerkingen wilt plaatsen of problemen wilt melden. Je kunt je eerste repository in de browser aanmaken:

  1. Maak een account aan en schakel tweefactorauthenticatie in: een extra bevestiging bij het inloggen.
  2. Kies de optie om een repository aan te maken, geef deze een naam en bepaal bewust wie er toegang toe krijgt.
  3. Voeg het bestand README.md toe: een projectbeschrijving die op de hoofdpagina van de repository zichtbaar is. De extensie .md staat voor Markdown, een eenvoudige manier om tekst op te maken.
  4. Schrijf kort wat het doel van het project is en leg dit vast als commit.
  5. Maak een branch, pas de beschrijving aan en open een pull request om te oefenen met het bekijken van verschillen.

Om gemakkelijker met bestanden op je computer te werken, kun je later GitHub Desktop gebruiken, een grafische applicatie voor veelgebruikte Git-bewerkingen. Een repository klonen levert een lokale kopie inclusief de geschiedenis op. Als je een ZIP-archief downloadt, krijg je de bestanden, maar geen kopie waarmee je met de Git-geschiedenis kunt werken.

Waar moet je op letten voordat je een project publiceert?

Sla geen wachtwoorden, API-sleutels of klantgegevens op in een repository. Als je een geheim uit het huidige bestand verwijdert, verdwijnt het niet automatisch uit eerdere commits. Is een sleutel openbaar geworden, dan moet je die allereerst intrekken of vervangen. Daarna moet je de geschiedenis opschonen en de gevolgen van het lek nagaan.

Openbare code betekent niet automatisch dat je die vrij mag gebruiken. Controleer het licentiebestand, vaak LICENSE genoemd, en de voorwaarden van de gebruikte afhankelijkheden. Dit is een algemene aanwijzing, geen persoonlijk juridisch advies. Het ontbreken van een licentie betekent niet dat er geen auteursrecht geldt.

GitHub biedt gratis en betaalde functies. Controleer voordat je het platform in een team invoert in de officiële prijslijst en documentatie welke limieten voor automatisering, opslagruimte en functies momenteel voor het gekozen abonnement gelden.

Maak om te beginnen een privérepository met een voorbeeld-README en voer één wijziging door via een branch en een pull request. Zo leer je de basiswerkwijze kennen zonder echte code of gegevens te publiceren.

Zie ook: Wat is 2FA?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.