Introductie

Overzicht

In deze workshop zal u leren werken met GIT en GitHub Pages

Doelstellingen:

  • Basisprincipe GIT begrijpen

  • De belangrijkste commando’s vlot kunnen uitvoeren

  • Een GIT-project zowel lokaal als remote kunnen uitvoeren

  • Werken met meerdere branches en personen in een project

Werking GIT

Git is een versiebeheersysteem dat wordt gebruikt bij softwareontwikkelingen.

GitHub en Gitlab zijn bekende platformen die gebruikt kunnen worden om GIT-repositories te beheren.

In Gitlab werkt alles via projecten. In zo een project is het belangrijkste onderdeel de repository, maar naast de repository kan een project ook andere onderdelen bevatten zoals een wiki, issues, …​

Installatie en setup

Vooraleer we met GIT kunnen werken moeten we GIT installeren op onze lokale machine.

Git downloaden en installeren:

Op https://git-scm.com is de laatste nieuwe versie te vinden van GIT. Tijdens het installeren voor Windows worden er enkele standaard tools mee geïnstalleerd zoals onder andere Git Bash en Git CMD. Voor Windows zijn de default instellingen een goede keuze. Eén van de keuzes die moet gemaakt worden (enkel op Windows) is het hoe je de Git-tools wil integreren in het besturingssysteem. Volg daar de aangeraden keuze:

Op deze manier kan je het Git-commando gebruiken vanop zowel Git Bash, command prompt, Powershell en andere 3rd-party software. Het kan altijd interessant zijn om de andere keuzeschermen eens te bekijken, maar behoud overal de voorgestelde keuze. Indien je met een ander besturingssysteem werkt (niet Windows), dan vind je op https://git-scm.com ook een duidelijke uitleg voor de installatie.

Configureer GIT:

Nu Git geïnstalleerd is kan je bijna beginnen met het gebruik ervan. Wel moeten er nog enkele zaken ingesteld worden. Eerst en vooral moet je aangeven wie je bent, door een emailadres op te geven.

De reden dat we dit moeten instellen is omdat elke wijziging/commit die gemaakt wordt een emailadres bevat, zodat andere mensen die aan het project werken zien wie de wijzigingen heeft aangebracht.

git config --global user.email "email@example.com"

Daarnaast kan je ook een gebruikersnaam instellen. Zoek zelf eens op hoe je dit kan doen.

Credentials aanmaken:

Je kan repositories klonen/kopiëren via zowel HTTPS als SSH. Echter raden we aan om steeds SSH te gebruiken als dit mogelijk is. Op die manier kunnen we gebruik maken van een asymmetrisch key-pair wat zorgt voor extra veiligheid. Om dit te doen moet er op je computer een koppel keys aangemaakt worden (publieke key en private key). De publieke sleutel kan je dan uploaden op Gitlab.

Het aanmaken van de sleutels kan via Git Bash. Dit is een van de tools die standaard is meegeleverd met de installatie van GIT:

ssh-keygen
  1. ssh-keygen zal de sleutels standaard bewaren in de home-folder in een submap .ssh. Dit mag zo blijven omdat dit de standaardmap is waar zowat elke ssh-tool zal zoeken als er een sleutel nodig is.

  2. Kies een sterk wachtwoord. Met dit wachtwoord wordt de private key beveiligd, wat zorgt voor 2-factor authenticatie. Het stelen van enkel de private key is dan namelijk niet voldoende, aangezien men ook nog het wachtwoord nodig heeft. Hoe meer repositories je zult hebben, hoe belangrijker deze sleutel wordt. Het kiezen van een goed wachtwoord is dus zeer belangrijk.

Om te controleren als deze 2 sleutels effectief zijn aangemaakt kan je een kijkje nemen in de home folder van je besturingssysteem. Daar zal je een verborgen map aantreffen genaamd: “.ssh”. Daar zou je nu 2 bestanden moeten vinden, de private en de publieke key. Deze 2 sleutels zijn weinig waard zonder elkaar, om te encrypten heb je namelijk de ene nodig, om te decrypten heb je de andere nodig.

ls ~/.ssh

id_rsa: Dit is de private sleutel die is beveiligd met het wachtwoord die je daarnet hebt opgegeven. Dit is een heel belangrijk document aangezien je later broncode kan aanpassen, servers beheren, etc. Dit bestand mag NOOIT in anderen hun handen terechtkomen. Plaats deze key dan ook nooit in repositories, CI/CD taken, …​

id_rsa.pub: Dit is je publieke sleutel. Deze kan je delen met iedereen en toevoegen op je git-server. Die server weet dan dat hij iedereen kan vertrouwen die toegang heeft tot de bijhorende private key.

Public key toevoegen op Gitlab:

In je profiel op Gitlab kan je je public key(s) uploaden. Op basis van deze key kan Gitlab je authentiseren.

Publieke sleutels kan je zonder enig risico delen met de wereld. Dat is eigenlijk ook wat je doen als je je key upload naar GitHub of Gitlab. Daarom is het belangrijk dat je nooit je private key ergens gaat uploaden. Zo kan je eenvoudig iemand anders zijn keys downloaden via een standaardlink: https://github.com/<username>.keys