Till sist - ett antal scenarion i GH Flow

Merge Conflicts
kommer att hända

Hotfixes
när buggar uppstår i produktion

Merge Conflicts

Scenario: Team-medlemmar ändrar samma fil

T ex:
efo gör något i userController.js
msc gör något "annat", i samma fil på samma rader.

både efo och msc commitar och pushar...konflikt!

"två personer arbetar i samma fil på samma rader... aja baja"

<<<<<<< HEAD
function validateUser(user) {
/*efo gör något mysko*/
}

=======
function validateUser(user) {
  /*msc gör något vackert*/
}

>>>>>>> feature/performance-opt

Lösning: Kommunikation => fixa merge-konflikter tillsammans

Tala med varandra → kom överens → merga

Ännu bättre → kom överens på förhand vad var och en ska arbeta med

Hotfixes - Produktionsbuggar

När/om kritisk bugg uppstår i produktion - snabb åtgärd krävs.
En praxis är då att skapa en s.k hotfix-branch för att åtgärda buggen.

main

Hotfix Branch

Fixa buggen

PR

Deploy:a
# Hotfix workflow
$ git checkout main
$ git checkout -b hotfix/namn-på-branchen

# Nu 'fixar' vi buggen...

$ git commit -m "städat upp efter efo"
$ git push origin hotfix/payment-crash

# Gör ett 'snabbt' PR
# Deploya direkt till produktion
hotfixes blir ett speciallfall - måste lösas snabbt

Det här var allt om GH Flow.
Men...

Ta det vidare

några tips/förslag att titta vidare på

GitHub Actions - CI/CD i workflowet

Branch Protection - "branch protection rules" på main för att säkerställa kvalitet

Feature flags - för att testa 'saker' i produktion och 'rulla ut nya funktioner' gradvis

Till sist - vi tar det igen!

GH flow passar bra för:

  • Webb-appar, API:er & microservices
  • Team som deployar ofta (dagligen)
  • Agila team
  • Open source-projekt
  • Prototyper

Mindre lämpligt för:

  • Desktop/mobil-appar (native)
  • Embedded systems
  • Enterprise-projekt (stora produktioner) med långa utvecklingscykler
  • Stora team (50+)

Lästips

Tack!

och förlåt till efo

exit()