Meer informatie over repositories: 2. Git Repositories
Meer informatie over pushen en commits: 4. Git Commits
Meer informatie over GitHub Desktop: 7. GitHub Desktop
Meer informatie over gitignore: 8. Git Files
Stuk overslaan?
Al een beetje bekend met Git? Dan kun je het eerste deel van deze workshop overslaan en doorgaan vanaf 3. Git Forks & Branches
Opdracht 1: Repository aanmaken
In deze opdracht zal je een nieuwe repository aanmaken waarin je een project kan opnemen.
Stap 1: Log in op GitHub en ga naar de homepagina of je dashboard.
Stap 2: Klik op de groene ‘New’ knop aan de linkerkant van de pagina.
Tip
Houd de naam van je repository simpel en beschrijvend. Vermijd spaties en speciale tekens (behalve -).
Stap 3.1: Geef de repository een naam (bijvoorbeeld FirstRepository) en een beschrijving. Kies ook of je de repository public of private wilt maken.
Stap 3.2: Klik op de Create Repository knop.
Goed bezig!
Je hebt nu je eerste repository aangemaakt. Gefeliciteerd!
Opdracht 2: Repository clonen
Nu je een repository hebt aangemaakt, kunnen we deze clonen naar je PC of laptop. In deze workshop gebruiken we GitHub Desktop. Dit programma maakt het beheren van repositories eenvoudig.
Optie 1: GitHub Desktop
Stap 1: Open GitHub Desktop en log in met je GitHub account.
Let op!
Dit moet hetzelfde account zijn waarmee je net de repository hebt aangemaakt.
Stap 2: Klik linksboven op de knop Current Repository.
Stap 3: Klik op Add en selecteer vervolgens Clone Repository.
Stap 3.1: Blijf onder het kopje GitHub.com en zoek onder Your Repositories naar de repository die je zojuist hebt aangemaakt.
Stap 3.2: Kies onder Local Path waar je de repository wilt opslaan.
Stap 3.3: Klik op Clone. De repository is nu als een map op je PC/laptop opgeslagen, bijvoorbeeld in: C:\Users\Gebruikersnaam\Documents\repos.
Optie 2: Terminal
Het is ook mogelijk om een repository te clonen via de terminal.
Stap 1: Open de terminal en navigeer naar de folder waar je wil dat de projectfolder komt te staan.
cd pad\naar\je\project
Stap 2: Haal de url van je repository van GitHub op en voer het volgende commando uit:
git clone [URL]
- Vervang hierbij
URL
met de url van je GitHub repository. - De url is op te halen door bij een repository op de
<> Code
knop te drukken en onder het tabje HTTPS de url te kopiëren.Figuur 2.1: HTTPS link op GitHub website van een repository
Gefeliciteerd!
Je hebt nu je repository gecloned.
Opdracht 3: Eerste push
Op dit moment is je repository nog leeg, behalve het .gitignore bestand. Het is tijd om een project of bestand te uploaden.
Iets anders proberen?
In deze opdracht gebruiken we een .NET Applicatie als voorbeeld. Wil je een ander projecttype gebruiken, of een eenvoudig markdown-bestand? Dat kan ook, ga dan verder naar Stap 2.
Stap 1: Open Visual Studio (of een andere IDE naar keuze).
Stap 1.1: Maak een nieuwe solution aan voor een Console Application.
Stap 1.2: Kies de folder die je in de vorige opdracht hebt gecloned als pad voor de solution. Bijvoorbeeld: C:\Users\Gebruikersnaam\Documents\repos
Stap 2: Open GitHub Desktop. De bestanden die je zojuist hebt gemaakt, zullen nu zichtbaar zijn in GitHub Desktop onder het kopje ‘Changes’.
Changes
Zie je geen changes in GitHub Desktop? Controleer of je de juiste map hebt geselecteerd bij het aanmaken van je project of bestand.
Stap 2.1: Vul onderin een ‘summary’ in voor de commit (bijvoorbeeld: Eerste commit). Het is ook mogelijk om een beschrijving toe te voegen. Hierin kun je bijvoorbeeld toelichting geven op de wijzigingen of andere gebruikers taggen.
Stap 2.2: Klik op de knop Commit. De wijzigingen zijn nu lokaal opgeslagen als een momentopname van je project. Deze wijzigingen zijn nog niet online zichtbaar.
Stap 2.3: Klik op de knop Push origin. Door te pushen, stuur je de commit naar de online repository. Nu zijn de wijzigingen ook zichtbaar en toegankelijk voor anderen die toegang hebben tot je repository.
Gelukt!
Je hebt je eerste commit gepusht naar Git.
Opdracht 4: Gitignore
Om te voorkomen dat tijdelijke of door je IDE gegeneerde bestanden niet continu worden toegevoegd aan je commit gaan we een .gitignore bestand toevoegen. Onderaan deze pagina staan de manieren hoe een bestand/folder aan de gitignore toegevoegd kan worden.
Stap 1: Als je bij het aanmaken van je repository geen .gitignore bestand hebt toegevoegd, kun je deze nu handmatig aanmaken. Maak een nieuw tekstbestand aan met de naam .gitignore in de hoofdmap van je project.
Stap 1.1: Voeg de standaard .gitignore regels voor een Visual Studio project toe. Je kunt een voorbeeld .gitignore voor Visual Studio vinden op de .gitignore repository of op Toptal.
Stap 1.2: Kopieer en plak de inhoud van het Visual Studio .gitignore bestand in jouw .gitignore bestand.
Nu we een .gitignore bestand hebben toegevoegd, gaan we de veranderingen commiten.
Stap 2.1: Open GitHub Desktop of je IDE, en kijk bij de Changes sectie. Je ziet dat alle bestanden die door het .gitignore bestand worden uitgesloten, niet meer worden weergegeven.
Stap 2.2: Voeg een commit message toe zoals Add .gitignore to exclude unnecessary files, en klik op Commit to [branch].
Stap 2.3: Druk op de Push origin knop om je veranderingen naar GitHub te uploaden.
Goed gedaan!
- Het is gelukt om een repository aan te maken!
- Je hebt changes gecommit en gepusht naar de repository!
- Je hebt een .gitignore bestand gemaakt!
Alternatieve manier voor het aanmaken van een repository
Via de terminal is het ook mogelijk om eerst lokaal een repository aan te maken en deze te linken aan een repository op GitHub.
Stap 1: Open een terminal en navigeer naar de folder wat een repository moet worden.
cd pad\naar\je\project\folder
Stap 2: Typ het volgende in de terminal:
git init
Stap 3: Maak een repository aan op GitHub met dezelfde naam als de folder naam waar je zojuist de git init
commando hebt uitgevoerd.
Stap 4: Link de lokale repository en de repository op GitHub aan elkaar.
git remote add origin https://github.com/username/repository-name.git
- Vervang de link met de link van de GitHub repository.
Stap 5: Push de bestanden die in je lokale repository staan naar de remote repository (repository op GitHub).
git push -u origin main
Git commando’s voor commits en mergen
Meer commando's
Voor meer commando’s, zie https://git-scm.com/docs
Toevoegen van bestanden aan staging area
Staging area is een benaming voor een tijdelijk opslagplek. Alleen de bestanden in deze staging area zullen meegenomen worden in de commit.
# Voeg 1 bestand toe aan de staging area
git add bestandsnaam.txt
# Voeg alle bestanden uit de huidige folder toe
git add .
Commiten
git commit -m "Titel" -m "Beschrijving"
-m
: geeft een message aan. Bij het commit commando is de eerste message dus de titel en de tweede de beschrijving.
Pushen en pullen
# Pushen van veranderingen van een branch naar de remove
git push [REMOTE] [BRANCH]
# Pushen van een nieuwe branch
git push -u [REMOTE] [BRANCH]
# Pullen
git pull [REMOTE] [BRANCH]
[REMOTE]
: Vervang[REMOTE]
met de naam van de remote repository, vaak is ditorigin
[BRANCH]
: Vervang[BRANCH]
met de naam van de branch.
Stashen
git stash
Tags
git tag [TAG_NAAM]
git tag -a v1.0 -m "Release version 1.0"
# Toevoegen tag aan commit
git tag [TAG_NAAM] [COMMIT_NAAM]
# Pushen van tags
git push origin v1.0
# Pushen van alle tags in 1 keer
git push --tags
-a
: Naam van de tag-m
: Voegt een bericht toe aan de tag- Pushen: Tags worden niet automatisch toegevoegd aan de remote repository en moeten dus naar de remote gepusht worden.
Commando’s voor .gitignore
Binnen het bestand wordt per regel aangegeven welke folder/bestand niet moet worden meegenomen.
voorbeeld.txt
- Hierbij wordt het bestand
voorbeeld.txt
niet getracked en niet meegenomen in de commit.
#In huidige folder
*.txt
#In alle folders (ook subfolders)
**/*.txt
##Alle bestanden, behalve important.txt
*.txt
!important.txt
- Git negeert alle bestanden die de extensie
.txt
#In huidige folder
temp*
#In alle folders (ook subfolders)
**/temp*
- Git negeert alle bestanden en folder die beginnen met
temp
in de huidige folder
#In alle folders
build/
#Alleen in de root folder
/build/
#Alle bestanden in een folder negeren, maar keepme.txt bestand niet (!)
build/
!build/keepme.txt
- Git negeert de
build
folder (en de content in de folder). - Als je alleen de content van een folder wilt negeren, maar de folder zelf in de repository wilt houden, kun je een uitzondering maken door een speciaal bestand in die map toe te voegen, zoals een
.gitkeep
bestand.
Volgende stap: 3. Git Forks & Branches