Inleiding Github

Bij Geonovum worden documenten (standaarden, onderzoeken, rapporten, enz) web-based gepubliceerd. Ook worden de documenten vaak in een werkgroep gemaakt, waarbij ieder werkgroeplid meeschrijft aan het document. Om dit te kunnen gebruiken we een aantal tools: GitHub, Respec en Markdown.

Deze introductie gaat over Github.

Waarschijnlijk wil je weten wat GitHub is, anders was je nu niet deze handleiding aan het lezen. Je gaat hier meer over GitHub lezen en waarom het handig is. Er zijn een aantal GitHub termen die alvast handig zijn om te weten. Tot slot lees je hoe je zelf aan de slag kan gaan met GitHub.

Meer over Github

Veel programmeurs wereldwijd maken gebruik van de website GitHub. Zelf zal je er misschien ook wel van gehoord hebben. Als programmeur is het handig om te weten wat GitHub is en hoe je er gebruik van maakt.

GitHub bestaat uit twee woorden, namelijk Git + Hub. Laten we beginnen met Git. *Git is een open source versiebeheersysteem. De website GitHub is gemaakt op basis van het versiebeheersysteem Git. Met GitHub heb je alle mogelijkheden van Git + extra features.

In een versiebeheersysteem kunnen programmeurs projecten beheren met code. Het is mogelijk om verschillende versies te beheren en eventueel terug te vallen op een oude versie, mocht er iets misgaan.

Stel dat je met een team een app wilt programmeren. Dan is het handig als iedereen bij het project kan met daarin alle code van de app. Ook is het handig dat iedereen de laatste code wijzigingen ziet van teamleden en daar eventueel op kan reageren en/of het aanpassen.

Bij Geonovum gebruiken we Github op een andere manier. Namelijk voor het voor werken aan documentatie voor geostandaarden. Per project is een repository aangemaakt. Een Repository is eenvoudig gezegd een werkmap/projectomgeving.

Andere mogelijkheden van Github

Je weet nu dat het mogelijk is om in een team projecten (Waarin code staat) te beheren op GitHub. Het is natuurlijk ook mogelijk om je eigen projecten op GitHub te beheren. Zo heb je een goed overzicht van de aanpassingen en verschillende versies.

Daarnaast staat je project online. Als je een belangrijk project bijvoorbeeld alleen lokaal op je eigen computer opslaat en je computer houdt ermee op, dan ben je zwaar de pineut. Op GitHub kan je er gewoon altijd bij.

Maar welke mogelijkheden heeft GitHub nog meer? Hier staan een aantal belangrijke mogelijkheden op een rijtje:

  • Een project maken gebaseerd op een project dat al bestaat
  • Discussie starten over een project
  • Code reviewen
  • Aparte branches maken, waarin je bijvoorbeeld code aanpassingen doet om te testen, die niet gelijk in de “productieversie” komen
  • Code van branch samenvoegen met andere branch
  • Tags meegeven aan verschillende versies, zoals V1.0 en V2.0
  • Kwetsbaarheden in de code makkelijker ontdekken, GitHub stuurt ook een mail als het kwetsbaarheden ontdekt
  • Een website hosten

Voordelen van GitHub

GitHub zorgt ervoor dat een individueel of een project in teamverband erg overzichtelijk is. Je hebt een goed overzicht van de laatste aanpassingen en welke persoon dat heeft gedaan.

Je kan eenvoudig meerdere versies maken en eenvoudig terugvallen op een vorige versie, mocht het misgaan. Door de verschillende branches loop je geen enkel risico bij het aanpassen en testen van nieuwe code. Meer over branches in “Betekenissen van GitHub termen”.

Voor programmeurs maakt GitHub het werken een stuk makkelijker en leuker. Stel dat je als programmeur niet aan versiebeheer zou doen of dat zou doen met een slecht versiebeheersysteem, dan ga je vroeg of laat in de problemen komen.

GitHub is een centrale plek waar heel veel programmeurs en teams hun projecten beheren. Veel projecten zijn open source en kunnen door iedereen worden ingezien en aangepast.

Het is erg leerzaam om naar projecten van anderen te kijken. Als je wat meer ervaring hebt, kan je misschien wel verbeteringen voorstellen en meedoen aan gave projecten!

Met GitHub gaat er als programmeur een wereld voor je open. Het is goed om projecten te beheren en je kan er ook heel veel leren.

Betekenis van Github termen?

Op GitHub zijn er een aantal termen die handig zijn om alvast te weten. Als je meer gebruik gaat maken van GitHub, dan leer je de betekenis van deze termen vanzelf kennen.

Hieronder staan belangrijke GitHub termen en de betekenis ervan:

GitHub term Betekenis
Repository Een repository kan je zien als de hoofdmap van je project. Hierin staan alle bestanden van je project en de historie van wijzigingen die je hebt gedaan.
Branch Aparte plek binnen je repository, waar je bijvoorbeeld nieuwe code kan testen, zonder dat te hoeven doen op de 'productversie'.
Master Dit is de hoofdbranch, oftewel de “productversie” van je project. Nieuwe code die is getest en goedgekeurd, wordt samengevoegd met de Master branch.
Fork Een fork is een kopie van een repository. Hierdoor kan je werken aan een project van iemand anders, zonder het origineel aan te passen.
Commit Git commando dat veranderingen toevoegt aan je lokale repository.
Push Git commando om aanpassingen naar je (remote) repository te sturen, die staat op GitHub.
Pull Git commando om aanpassingen van je (remote) repository naar je lokale bestanden te sturen.
Merge Git commando om aanpassingen van een branch samen te voegen met een andere branch. Bijvoorbeeld aanpassingen die getest en goedgekeurd zijn in de “Develop” branch samenvoegen met de “Master” branch.
Checkout Deze Git commando wordt vaak gebruikt om te switchen tussen branches. Je checkt als het ware uit bij een branch en gaat aan de slag in een andere branch.

Zelf aan de slag met Github

Hopelijk heb je een beter beeld over wat GitHub is. Ben je een gebruiker of wil je programmeur worden en werk je nog niet met een (goed) versiebeheersysteem? Dan is het zeker aan te raden om te beginnen met GitHub.

Als je een account hebt aangemaakt kun je zelf een repository aanmaken. Zie hiervoor: Aanmaken GitHub Account

Stuur een mail naar account@geonovum.nl om toegevoegd te worden aan deze repository. Je moet dan wel eerst een account aangemaakt hebben op github