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.
Meer over Github
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 voor het voor werken aan documentatie voor geostandaarden. Per project is een repository aangemaakt. Een Repository is 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
- 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.
- 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.
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
Als je een account hebt aangemaakt kun je zelf een repository aanmaken. Zie hiervoor: Aanmaken GitHub Account