Pubmi gitflow

74
Git Flows

Transcript of Pubmi gitflow

Page 1: Pubmi gitflow

Git Flows

Page 2: Pubmi gitflow

Welcome to my gitflow talk for the php user group

Page 3: Pubmi gitflow

Simone (Demo) Gentili @sensorario

Page 4: Pubmi gitflow
Page 5: Pubmi gitflow
Page 6: Pubmi gitflow
Page 7: Pubmi gitflow

Goal: understand if gitflow and other flows

Page 8: Pubmi gitflow

• Git flow • Versioning Semantico • Other flows • A PHP Open Source Project

Page 9: Pubmi gitflow

Why this talk?

Page 10: Pubmi gitflow
Page 11: Pubmi gitflow

$ git config --global \merge.ff false

$ git revert j890y4

Page 12: Pubmi gitflow
Page 13: Pubmi gitflow

Feature branch

Page 14: Pubmi gitflow
Page 15: Pubmi gitflow
Page 16: Pubmi gitflow
Page 17: Pubmi gitflow
Page 18: Pubmi gitflow
Page 19: Pubmi gitflow

Release branch

Page 20: Pubmi gitflow
Page 21: Pubmi gitflow
Page 22: Pubmi gitflow
Page 23: Pubmi gitflow
Page 24: Pubmi gitflow
Page 25: Pubmi gitflow
Page 26: Pubmi gitflow
Page 27: Pubmi gitflow

Hotfix branch

Page 28: Pubmi gitflow
Page 29: Pubmi gitflow
Page 30: Pubmi gitflow
Page 31: Pubmi gitflow
Page 32: Pubmi gitflow
Page 33: Pubmi gitflow
Page 34: Pubmi gitflow

Recap

Page 35: Pubmi gitflow
Page 36: Pubmi gitflow
Page 37: Pubmi gitflow
Page 38: Pubmi gitflow
Page 39: Pubmi gitflow
Page 40: Pubmi gitflow
Page 41: Pubmi gitflow
Page 42: Pubmi gitflow
Page 43: Pubmi gitflow
Page 44: Pubmi gitflow
Page 45: Pubmi gitflow
Page 46: Pubmi gitflow
Page 47: Pubmi gitflow
Page 48: Pubmi gitflow
Page 49: Pubmi gitflow
Page 50: Pubmi gitflow
Page 51: Pubmi gitflow
Page 52: Pubmi gitflow
Page 53: Pubmi gitflow
Page 54: Pubmi gitflow

Semantic Versioning

Page 55: Pubmi gitflow
Page 56: Pubmi gitflow

x.y.z

Page 57: Pubmi gitflow

Major.minor.patch

Page 58: Pubmi gitflow

0.*

Page 59: Pubmi gitflow
Page 60: Pubmi gitflow

Major.minor.patch

x.y.z

MAJOR version when you make incompatible API changes,

Page 61: Pubmi gitflow

Major.minor.patch

x.y.z

MINOR version when you add functionality in a backwards-

compatible manner

Page 62: Pubmi gitflow

Major.minor.patch

x.y.z

PATCH version when you make backwards-compatible

bug fixes.

Page 63: Pubmi gitflow
Page 64: Pubmi gitflow
Page 65: Pubmi gitflow
Page 66: Pubmi gitflow
Page 67: Pubmi gitflow

• centralized • feature branch • forking workflow

Other flows

Page 68: Pubmi gitflow

• only master branch • work in local repository • push to origin/master • rebase • linear history • remote is sacre

Centralized

Page 69: Pubmi gitflow

• master always clean • branches isolated • pull request • code review

Feature branch

Page 70: Pubmi gitflow

• more remote servers • each developer has server side repo • two repo for each • each maintainer does not give access to private repo

Forking

Page 71: Pubmi gitflow

“flows are guidelines rather than concrete rules”

Page 72: Pubmi gitflow

Q&A

Page 73: Pubmi gitflow

[email protected] • twitter.com/sensorario • github.com/sensorario

Contacts

Page 74: Pubmi gitflow

• http://nvie.com/posts/a-successful-git-branching-model/ • http://engineering.facile.it/git-flow-semantic-versioning/ • http://pcottle.github.io/learnGitBranching/ • http://semver.org/ • https://www.mindmup.com/ • http://martinfowler.com/bliki/FeatureToggle.html • https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Links