Wat zijn de doelstellingen van de opleiding?
Opleidingsprogramma
Inleiding
Principes van Source Control Management (SCM)
Geschiedenis, lokale, gecentraliseerde en gedistribueerde controle
Hoe snapshots werken, vergelijking met verschillen
Installatie (Linux, MacOS, Windows)
Toegang tot de handleiding: man / help
Initiële Git configuratie: voorkeuren, gebruikersprofiel
Initiëren van een lokale repository
Workshop: Installatie vane Git installatie - Een project
Levenscyclus van de werkmap
Concepten van werkmap, index en archief
Controleer de status van de werkkopie : status
Indexeer je wijzigingen : add
Negeer bestanden : .gitignore
Valideer je wijzigingen : commit
Verwijder en verplaats bestanden
Workshop: bijdragen en commits
De geschiedenis bekijken
Wijzigingen bekijken: log
Aanpassen van het formaat: stat, pretty, ...
Filteren op datum, auteur, commit boodschap, gewijzigde inhoud, ...
Bekijk en exporteer een verschil (native formaat, extern tool)
Label je commits: lichte en geannoteerde labels
Zoek met git-grep
Acties ongedaan maken
Herschrijven van de laatste vastlegging
De-indexeren van een bestand
Terugzetten van een bestand
Werken met takken
Tak principe, de HEAD aanwijzer
Een tak aanmaken
Schakelen tussen takken, vrijstaande modus
Takken samenvoegen: fast-forward, drie bronnen
Beheer samenvoegconflicten
Extern samenvoeggereedschap: mergetool (emerge, vimdiff, meld, ...)
Bestaande takken bekijken, degene die samengevoegd zijn
Een tak verwijderen
Takken beheer strategieën: lange tak, thematisch, ...
Werken met een remote repository
Remote repository, remote branches, branch tracking
Bekijken en inspecteren van remote repositories
Remote repositories toevoegen, hernoemen, verwijderen
Een remote branch pullen, pushen en verwijderen
Herschrijf geschiedenis, rebase
Waarschuwing: de gevaren van herschrijven
Rebasen van een deel van een branch
Wanneer rebasen en wanneer samenvoegen?
Herschikken en opruimen
Herschik je werk in uitvoering
Maak een tak van een herschikking
Ruim je werkdirectory op
Git aanpassen
Configureren van standaard editors, automatische uitsluitingen, ...
Aanmaken en gebruiken van aliassen
Grafische tools: Git-Gui, GitKraken, SmartGit, ...
Filters maken: smudge en clean
Client-kant haken: pre-commit, pre-rebase, post-rewrite...
Server-kant haken: pre-receive, update, post-receive
Verwijzing naar een extern project
Principe van submodules
Een submodule declareren, overhalen en bijwerken
Conflicten in een externe bibliotheek wijzigen en beheren
Problemen met submodules
Git op een server
Protocollen: lokaal, HTTP, SSH, Git
Een kale repository aanmaken, gebruikersaccounts
Eén git-gebruiker, SSH- en git-shell-sleutels
Git-daemon
Workshop: Een Git server opzetten
Beheer van webopslagplaatsen
Een eenvoudige en lichte server: GitWeb
Een completer platform: GitLab
GitLab: gebruikersconfiguratie
GitLab: projectverkenning, bijhouden van activiteiten, wiki
GitLab: issue manager, web hooks, code review
Een kant-en-klare gehoste service: GitHub
GitHub: account aanmaken en configureren
GitHub: bijdrageregels
GitHub: onderhouden van een project
Workshop: Een GitLab ophalen en verkennen
Conclusie
Git en de projectlevenscyclus
Git en continue integratie : voorbeeld van GitLab