GitHub

Veel programmeurs wereldwijd maken gebruik van de website GitHub, momenteel zelfs meer dan 40 miljoen. Zelf zal je er misschien ook wel van gehoord hebben, mede omdat veel projecten ernaar verwijzen. 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.

Momenteel het beste versiebeheersysteem.
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 codewijzigingen ziet van teamleden en daar eventueel op kan reageren en/of het aanpassen.

Maar waar staat “Hub” voor in GitHub? Met “Hub” wordt eigenlijk het centrale deel bedoeld, waar alle projecten samenkomen die beheerd worden met Git. De website GitHub is de centrale plek waar programmeurs hun projecten beheren met Git.

Deze video laat ook goed zien wat GitHub is.

Welke andere mogelijkheden heeft 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? Hieronder 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 een ‘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

Waarom is GitHub handig?

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 hieronder 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.

Betekenissen 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 + de betekenis ervan:

GitHub termBetekenis
RepositoryEen 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.
BranchAparte plek binnen je repository, waar je bijvoorbeeld nieuwe code kan testen, zonder dat te hoeven doen op de “productversie”.
MasterDit is de hoofdbranch, oftewel de “productversie” van je project. Nieuwe code die is getest en goedgekeurd, wordt samengevoegd met de Master branch.
ForkEen fork is een kopie van een repository. Hierdoor kan je werken aan een project van iemand anders, zonder het origineel aan te passen.
CommitGit commando die veranderingen toevoegt aan je lokale repository.
PushGit commando om aanpassingen naar je (remote) repository te sturen, die staat op GitHub.
PullGit commando om aanpassingen van je (remote) repository naar je lokale bestanden te sturen.
MergeGit 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.
CheckoutDeze 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.

Er zijn natuurlijk nog meer GitHub termen, maar voor beginners zijn dit de belangrijkste om te weten.

Zelf aan de slag met GitHub

Hopelijk heb je een beter beeld over wat GitHub is. Ben je een programmeur 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.

Op de website van GitHub staat een “Hello World” uitleg, om alvast een klein beginnetje te maken. Als je echt wilt gaan werken met GitHub en de mogelijkheden van het platform wilt benutten, is het aan te raden om een goede cursus te volgen.

Als je Git nog niet op de Raspberry Pi geïnstalleerd hebt, kan je dit installeren met: 

sudo apt-get install git

Wacht niet langer en ga lekker aan de slag met GitHub!

Have A Nice Day!