H9: Werken op GitHub

Hub, GitHub, Hub!
https://myoctocat.com/build-your-octocat/
1 / 23
next
Slide 1: Slide
ICTMBOStudiejaar 4

This lesson contains 23 slides, with text slides.

Items in this lesson

Hub, GitHub, Hub!
https://myoctocat.com/build-your-octocat/

Slide 1 - Slide

It's a-me!

Slide 2 - Slide

Als je maar lang genoeg xkcd strips toe blijft voegen aan je slides vindt vanzelf iemand het grappig, toch? Toch?
Leerdoelen
  • Leren over verschillende "workflows"
  • Branching toepassen op GitHub
  • Pull requests om te mergen
  • Werken met issues door commits te doen

Slide 3 - Slide

Benadruk dat wat we gaan leren in principe van toepassing is op GitHub, maar dat het net zo goed kan op GitLab, gitea, [jouw git server hier]
Commandline
Vorige keer werkten we met de commandline, maar nu mag je git doen op de manier die het comfortabelst voor je is.

Slide 4 - Slide

Hackermannnn

Als iemand weet waar dit plaatje van is mag je ze een aai over hun bol geven.
"Workflows"
De workflow is de manier waarop je op een git-server samenwerkt aan een project met meerdere mensen. De manier waarop je samen hebt afgesproken om issues op te lossen.

Slide 5 - Slide

This item has no instructions

Centralized
Iedereen werkt in dezelfde branch.
Je commit lokaal, en als er changes zijn remote moet je eerst "rebasen"

Slide 6 - Slide

This item has no instructions

https://www.atlassian.com/git/tutorials/comparing-workflows

Slide 7 - Slide

This item has no instructions

Centralized
Merge conflicts every day all day.
Iedereen zit elkaar constant in de weg.
Alleen werkbaar als je alleen of in een heel klein team werkt.
Of als je in ieder geval niet op dezelfde tijden werkt.

Slide 8 - Slide

Even benadrukken dat deze oplossing kwalitatief uitermate teleurstellend is.
Forking
Iedereen die iets wilt toevoegen maakt een "fork" van de volledige repository.
Changes terug naar de originele repository moeten dan met een pull request.

Slide 9 - Slide

Leuk grapje maken over een FORKING STRATEGIE, klinkt vulgair als je het in een brits accent doet.
https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow

  • Handig om samen te werken met mensen die je niet kent
  • Wel wat extra werk

Slide 10 - Slide

Even checken of iedereen het verschil weet tussen een fork en een clone.
Forking
Vooral handig voor grote changes aan open source projecten.
Minder handig voor kleine changes aan projecten in eigen beheer.

Slide 11 - Slide

This item has no instructions

Feature branching
Iedere nieuwe feature of issue wordt gemaakt in zijn eigen branch.
Iedere branch wordt dan weer teruggevoegd naar de main/master.

Slide 12 - Slide

Dit is een vrij gebruikelijke in bedrijven.
Deze gaan we vandaag mee oefenen!
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow

Slide 13 - Slide

This item has no instructions

Voordelen:
  • Je commit graph komt er mooi uit te zien
  • Kan goed samenwerken met veel mensen in één team
  • Geen gedoe met extra repositories
  • Weinig rebases nodig
Nadelen:
  • Elk issue wordt een branch!
  • Veel merges, dus mogelijk ook veel merge conflicts.
  • Je commit graph komt er ingewikkeld uit te zien

Slide 14 - Slide

This item has no instructions

Issue closing
https://github.blog/news-insights/product-news/closing-issues-via-commit-messages/

"Closes #42"
"Fixes #510"
"Resolves #12"

Slide 15 - Slide

This item has no instructions

Git feature branching
We gaan wat oefenen met feature branching, en eventueel de merge conflicts daaruit volgen.

Slide 16 - Slide

This item has no instructions

Stappenplan:
  1. Maak een issue
  2. Maak een nieuwe feature branch voor die issue
  3. Fix de issue in je code in die branch
  4. Commit en push naar branch met message "Fixes #nr"
  5. Maak een pull request voor die feature branch.
  6. ???
  7. Profijt

Slide 17 - Slide

This item has no instructions

Slide 18 - Slide

This item has no instructions

OF!

Slide 19 - Slide

This item has no instructions

Pull request

Slide 20 - Slide

This item has no instructions

Slide 21 - Slide

This item has no instructions

Niet forken!!!!

Slide 22 - Slide

This item has no instructions

Opdracht!
Werkblad op itsl
Repo template copy
4x Issues aanmaken
4x Feature branches maken
4x Pull requests aanmaken
4x Pull requests mergen
IN DIE VOLGORDE. Eerst vier issues, dan vier branches, etc.

Slide 23 - Slide

This item has no instructions