# Introductie

# Git

Git staat voor “Global Information Tracker”. Het is een revisie beheersysteem (Eng. revision control) en een broncode (Eng. source code) management systeem (SCM) vergelijkbaar met het alomgekende SVN-systeem (2001 e.v.).

Het Git-systeem, initieel ontwikkeld door Linus Torvalds voor de Linux Kernel Development in 2005, voldoet aan een aantal vereisten (requirements):

  • gratis
  • eenvoudig, snel en efficiënt
  • betrouwbaar
  • schaalbaar (scalable)
    Met honderden teamleden kunnen samenwerken aan hetzelfde project.
  • geschiedenis
    Weten wie wat gedaan heeft en wanneer?
  • transacties; Meerdere acties bundelen.
  • ondersteuning voor branches
    Afsplitsing van het hoofdproject die later terug kan samengevoegd worden met het hoofdproject.

Iedere Git-werkmap bevat een volledige repository met een overzicht van de geschiedenis en bevat ook tracking capaciteiten. Git is niet afhankelijk van een centrale opslagplaats!

Nieuwe versies van een app worden eerst lokaal bewaard in een lokale copy van de centrale opslagplaats (server). Deze lokale opslagplaats kan later gesynchroniseerd worden met de centrale opslagplaats. Conflicten in versies worden aangeduid door de Git-software, zodat een teamlid deze kan oplossen!

# Installatie

Zie:

# Configuratie

Zie:

# GitHub

GitHub is een webgebaseerde (web-based) service om software development projecten te herbergen (hosten) gebruik makend van het Git revisie (revision control) beheersysteem. Het wordt veel gebruikt voor open-source software development projecten.

GitHub bevat de volgende plannen:

  • Private repositories (betalend)
  • Public repositories (gratis en open-source)
  • GitHub Enterprise (GitHub systeem opzetten op eigen servers).

Via GitHub (of BitBucket, GitLab, …) kunnen meerdere mensen samenwerken aan 1 of meerdere repositories d.m.v. een remote server. Elk teamlid van een repository heeft meestal een lokale kopie van deze repository staan, en kan zijn / haar lokale wijzigingen doorvoeren naar de remote server. De andere teamleden kunnen dan hun lokale kopie synchroniseren met de remote server.

Registratie:

# README.md

Op GitHub, GitLab en BitBucket staat dit README.md bestand o.a. in de hoofdfolder (top-level directory). Dit bestand, met de markdown syntax, wordt automatisch geconverteerd naar HTML. Het wordt gepresenteerd wanneer we de Git repository bezoeken. Het README.md bestand bevat meestal informatie over andere bestanden, folders of archieven binnen dezelfde repository. De naam wordt meestal beschreven in capitalen (uppercase), behalve de extensie.

Het README.md bestand bevat meestal één of meerdere onderwerpen als inhoud:

  • Omschrijving van de repository (project);
  • Oplijsting van aanwezige bestanden en folders;
  • Configuratie en installatie instructies;
  • Documentatie;
  • Gekende bugs;
  • Aanvragen voor toekomstige nieuwe features;
  • Auteurs;
  • Copyright en licentie.

# .gitignore

Via een .gitignore bestand in de root van een Git-enabled project vermelden we de folders en/of bestanden die we niet in de online repository willen overbrengen. Courante onderdelen binnen dit bestand zijn goed samengevat in deze Gist .gitignore (opens new window).

Het .gitignore bestand bevat meestal regels voor IDE’s, zoals JetBrains, Miscrosoft Visual Code, Dreamweaver, … . Daarnaast moet gecompileerde code, zoals exe, com, rar, … vermeld worden. Packages, logs, cache, tijdelijke folders, … maken ook deel uit van het .gitignore bestand. Het onderstaande bestand geeft een goede indicatie van een courant .gitignore bestand. Via gitignore.io (opens new window) kunnen we zo’n bestand genereren.

Naast dit lokaal bestand kunnen we ook een globaal .gitignore bestand aanmaken. Onder de Home folder (~/.gitignore_global) van de gebruiker maken we het bestand .gitignore_global aan waarin we de algement globale .gitignore zullen toevoegen. Op deze manier hoeven we enkel in het lokaal bestand applicatiespecifieke instellingen toe te voegen.

Opdat deze globale instellingen van kracht worden moeten we dit .gitignore_global bestand toevoegen aan de Git configuratie:

git config --global core.excludesfile ~/.gitignore_global
1

Meer informatie over dit .gitignore_global bestand via de dotfiles.

# Aanmaak online repository

In deze workflow maken we eerst een repository aan op GitHub via + teken en vervolgens New Repository.

Create a new Repository on GitHub

Definieer vervolgens:

  • de eigenaar van de repository, bijv. drdynscript (selecteer jouw eigen GitHub username)
  • de naam van de repository, bijv. github-tutorial-onlinefirst
  • de omschrijving van de repository, bijv. GitHub Tutorial - Aanmaak van een online repository
  • selecteer de zichtbaarheid van de repository (public betekent zichtbaar voor iedereen, private enkel zichtbaar voor bevoegde personen)
  • tenslotte kunnen we kiezen tussen het initaliseren van de repository of het koppelen van deze repository aan een lokale folder
  • in deze flow kiezen we voor het initialiseren van de repository door tenminste een van de bestanden README, .gitignore en license te selecteren.
Create a new Repository on GitHub
  • Druk vervolgens op de Create Repository knop.
Repository created on GitHub

De repository is aangemaakt en geinitaliseerd. Deze repo bevat de bestanden (die aangevinkt waren tijdens de setup van een repo). Standaard wordt de content uit het README.md bestand omgevormd tot HTML en gevisualiseerd op de startpagina van een repo.

Om deze online repo op je computer te krijgen klik je op de groene knop Code en kopieer vervolgens de web URL.

Open de terminal (macOS), Windows Powershell, Command Prompt of een andere commandline tool. Voer de volgende commandoregel uit gebruik jouw eigen webURL:

git clone https://github.com/drdynscript/github-tutorial-onlinefirst.git
1

De volgende output verschijnt in de commandline:

Clone an existing repository on local drive

Tip

  • ls: oplijsten van alle bestanden en folders in de huidige directory
  • cd: Change directory veranderen van de folder naar een opgegeven folder

Openen van VisualStudio Code via commandline:

code .
1

Lokale folder (kloon van de online repo):

Local folder opened in VisualStudio Code

Breng de volgende wijzigingen (gebruik jouw eigen gegevens) aan de README.md file:

# GitHub Tutorial online first

GitHub Tutorial - Aanmaak van een online repository

|           |                                |
| --------- | ------------------------------ |
| Firstname | Philippe                       |
| Lastname  | De Pauw - Waterschoot          |
| Gender    | :male_sign:                    |
| Email     | philippe.depauw@arteveldehs.be |

**GRADUAAT PROGRAMMEREN ARTEVELDEHOGESCHOOL**
We :heart: **Programming** :thumbsup: **Graphics** make **Cool** :poop:
1
2
3
4
5
6
7
8
9
10
11
12
13

Voor de volgende commando’s uit:

  • Toevoegen van bestanden en mappen aan de volgende commit.
    git add *.* of git add .
  • Commit of doorvoeren van de toegevoegde bestanden en mappen.
    git commit -m "Update Git Repository
  • Push of versturen van de commit naar de online repository.
    git push
Commit local changes to online repo

Ververs de webpagina van de online repo:

Changes online in the GitHub repo

# Aanmaak lokale repository

In deze workflow maken we eerst een repository aan op GitHub via + teken en vervolgens New Repository. Op een gelijkaardige manier dan in het voorgaande hoofdstuk. Het enigste verschil is dat we deze repository niet initialiseren. De bestanden README.md, .gitignore en LICENSE worden niet aangevinkt.

Repository created on GitHub local first
  • Druk vervolgens op de Create Repository knop.
Repository created on GitHub local first

Maak een nieuwe lokale folder aan bijv. met de naam github-tutoral-localfirst.

Local folder created

Open deze aangemaakte folder in VisualStudio Code. Maak vervolgens een README.md bestand hierin aan. Kopieer het .gitignore bestand en het LICENSE bestand uit het vorige hoofdstuk en voeg deze vervolgens toe aan deze folder.

Initialiseer de lokale folder als een git folder via het commando: git init. De commandline geeft de volgende melding: Initialized empty Git repository in C:/Users/phili/ahs/pgm/college/github-tutorial-localfirst/.git/.

Om de lokale folder te verbinden aan de online GitHub folder voeren we het volgende commando uit:

git remote add origin https://github.com/drdynscript/github-tutorial-localfirst.git
1

Schrijf de volgende Markdown in het README.md bestand:

# GitHub Tutorial local folder first

GitHub Tutorial - Aanmaak van een online repository local folder first

**GRADUAAT PROGRAMMEREN ARTEVELDEHOGESCHOOL**
We :heart: **Programming** :thumbsup: **Graphics** make **Cool** :poop:
1
2
3
4
5
6

Voor de volgende commando’s uit:

  • Toevoegen van bestanden en mappen aan de volgende commit.
    git add *.* of git add .
  • Commit of doorvoeren van de toegevoegde bestanden en mappen.
    git commit -m "Update Git Repository
  • Push of versturen van de commit naar de online repository.
    git push -u origin master
Push local folder to connecte online GitHub repo
© 2025 Arteveldehogeschool Laatst bijgewerkt: 13/1/2025, 10:02:14