# Git

Git is gratis, opensource revisie beheersysteem (Eng. revision control) en een broncodemanagementsysteem (Eng. SCM system).

Git is het onderliggende systeem van deze bekende platformen waarop code gedeeld kan worden:

Wist-je-datje

Git werd oorspronkelijk ontwikkeld door Linus Torvalds, de ontwikkelaar van de Linux Kernel.

# GitHub-account

In de opleiding gebruiken we Git (opens new window) samen GitHub (opens new window), en dan in het bijzonder GitHub Education (opens new window) en GitHub Classroom (opens new window)). Sommige opdrachten ga je indienen op GitHub (opens new window). Voor we Git (opens new window) installeren maken we een GitHub-account aan, omdat we die accountgegevens straks gaan ingeven tijdens het configureren van Git.

Opgelet

Ga naar GitHub (opens new window) en gebruik onderstaande gegevens, zodat we je GitHub-account makkelijk kunnen koppelen aan het digitale leerplatform.

Veld Gegevens Voorbeeld Niet gebruiken!
Username pgm-«arteveldegebruikersnaam» pgm-janedoe Kleine letters!
Email «je-lange-arteveldemail» [email protected]
Password «een-gegenereerd-wachtwoord» cUBGQDVydhpAw6N Niet gebruiken!

Opgelet

Gebruik je echte naam in je Public profile (opens new window) zodat de docenten je makkelijk kunnen terugvinden.

# Installeren

Als de Command Line Tools for Xcode geïnstalleerd zijn, dan is Git automatisch geïnstalleerd. Installeer Git (opens new window) via de pakketmanager Homebrew, zodat je de allerlaatste versie hebt en het ook makkelijk up-to-date te houden is.

brew install git

Tip

Update regelmatig alle installaties via Homebrew met de opdrachten update en upgrade.

# Versie Opvragen

Controleer of de installatie gelukt is door de versie op te vragen met --version.

git --version

# Configuratie

De configuratie van Git (opens new window) wordt bewaard in het bestand /users/«je-macos-gebruikersnaam»/.gitconfig.

# Identiteit

Het eerste dat we moeten doen nadat we Git hebben geïnstalleerd is om onze gebruikersnaam en e-mailadres in te stellen. Hiervoor gebruiken we de gegevens van je GitHub-account.

Dit is belangrijk omdat telkens als de opdracht git commit uitgevoerd wordt, deze informatie gebruikt om het commit-object te ondertekenen. Deze informatie zit vervat als meta-informatie in een commit-beschrijving.

git config --global user.name "«je-github-gebruikersnaam»"
git config --global user.email "«je-github-mailadres»"

Bijvoorbeeld:

git config --global user.name "pgm-janedoe"
git config --global user.email "[email protected]"

# Branch

De standaardnaam die Git geeft aan de hoofdbranch roept negatieve connotaties op met slavernij, daarom is het gebruikelijk om main als naam voor de hoofdbranch te gebruiken. Je kan deze nieuwe naam aan de configuratie toevoegen.

git config --global init.defaultBranch main

# Protocol

Git (opens new window) verstuurt gegevens via het Git-protocol. De proxyserver van Arteveldehogeschool blokkeert dit, en daarom moeten we Git (opens new window) zo instellen dat het HTTPS gebruikt.

git config --global url."https://".insteadOf git://

# Global gitignore

Je stelt een globale gitignore file in. Hierdoor hoef je niet steeds bij elk project standaardzaken te herhalen, bv. systeemgebonden bestanden (zoals .DS_Store) of instellingen van de editor die je gebruikt.

Maak een bestand .global_gitignore aan in de hoofd folder van de gebruiker op je toestel. Bv. Users/«je-macos-gebruikersnaam»/.global_gitignore. Zet het volgende in dit bestand:

.DS_Store
node_modules

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Local History for Visual Studio Code
.history/
1
2
3
4
5
6
7
8
9
10
11
12

Daarna stel je het volgende in:

git config --global core.excludesfile ~/.global_gitignore

# Editor

Via configuratie kunnen we de standaard editor instellen, die Git (opens new window) zal gebruiken wanneer we een boodschap (Eng. message) moeten typen. Standaard wordt de default editor van het besturingssysteem gebruikt: vi of vim.

Visual Studio Code kunnen we instellen als default editor:

git config --global core.editor "code --wait"

# Merge Tool

git config --global merge.tool vscodemerge
git config --global mergetool.vscodemerge.cmd 'code --wait --diff $LOCAL $REMOTE'
git config --global mergetool.vscodemerge.trustExitCode false

# Diff Tool

git config --global diff.external code
© 2024 Arteveldehogeschool Laatst bijgewerkt: 14/9/2022, 22:39:24