# 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:
- GitHub (opens new window) (Microsoft (opens new window))
- Bitbucket (opens new window) (Atlassian (opens new window))
- GitLab (opens new window)
# 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.
# 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
# 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/
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