make your team flow

43
Make Your Team Flow #WAPODEVS

Upload: chad-moone

Post on 21-Feb-2017

331 views

Category:

Social Media


0 download

TRANSCRIPT

Make Your Team Flow

#WAPODEVS

Chad MooneLead Developer, iOS

@chadmoone

Growing PainsMo devs mo problems

More ChaosMore ProjectsMore Devs

Git FlowA successful Git branching model

Git FlowA sane Git branching model

• Distinct flow to development and release

• Can be implemented for all projects

• Always clear what is where & where to start

• No uncertainty on what to keep merged up with

• Easy to merge back down

Git FlowA successful Git branching model

develop

master

feature/layout feature/new-db

release/1.2.0

feature/fix-bug

hotfix/1.1.3

feature/fix-crash

• master

• develop

• feature/increase-awesomeness

• release/1.2.0

• hotfix/1.2.1

Git FlowA successful Git branching model

• Works best for continuous deployment

• No develop, hotfix, or release

• Anything in master is deployable at any time

• Still relies on feature branches, but without the prefix

• Do not use for shared libraries

GitHub FlowA rapid-deployment branching model

develop

master

feature/layout feature/new-db

release/1.2.0

feature/fix-bug

hotfix/1.1.3

feature/fix-crash

develop

master

feature/layout feature/new-db

feature/fix-bugfeature/fix-crash

develop

master

feature/layout feature/new-db

feature/fix-bugfeature/fix-crash

• Works best for continuous deployment

• No develop, hotfix, or release

• Anything in master is deployable at any time

• Still relies on feature branches, but without the prefix

• Do not use for shared libraries

GitHub FlowA rapid-deployment branching model

Git Flow GitHub Flow GitLab Flow GitWhatever Flow

Default & Protected Branches

JIRA Integrationfeature/IPADRAIN-1234-fix-stuff

feature/IPADRAIN-1234/fix-stuff

Folder Namingfeature/JIRA-123-fix-warnings

feature/JIRA-123/-fix-warnings

Git FlowA successful Git branching model

Pull RequestsLet’s talk about it

Pull Requests• Branch

• Discuss

• Collaborate

• Merge

Get startedLook for the green Pull

Request button

Search or enter website name

Search or enter website name

Search or enter website name

Pull RequestsLet’s talk about it

Semantic VersioningIt’s the right thing to do.™

Semantic VersioningIt’s the right thing to do.™

Source

321 . .

Semantic VersioningIt’s the right thing to do.™

Source

PatchMinorMajor . .

• MAJOR version when you make incompatible API changes

• MINOR version when you add functionality in a backwards-

compatible manner

• PATCH version when you make backwards-compatible bug

fixes

Semantic VersioningWhen to increment:

pod‘PostKit’,‘~>1.2’gem‘faker’,‘~>2.1’

մեis should be relatively safe:

pod‘PushKit’,‘~>1.4.3’gem‘Fabric’,‘~>3.3.0’

And this should be very safe:

Semantic VersioningIt’s the right thing to do.™

Style GuidesCome together

• Improves reading comprehension

• Clarifies diffs

• Isolates arguments & avoids flamewars

• Living document

• Use pull requests!

Style GuidesCome together

Search or enter website name

–Chad Moone

“We need a company-wide style guide!”

Style GuidesCome together

• Git Flow

• Pull Requests

• Semantic Versioning

• Style Guides

TakeawaysMake your team flow

• մեe original Git Flow post: http://nvie.com/posts/a-successful-git-

branching-model/

• A great visual Git Flow walkthrough: http://danielkummer.github.io/git-

flow-cheatsheet/

• Git Flow CLI tool: https://github.com/nvie/gitflow

• GitHub Flow: https://guides.github.com/introduction/flow/

• Pull request tutorial: https://help.github.com/articles/using-pull-requests/

• Semantic Versioning: http://semver.org

ResourcesMake your team flow

Chad MooneLead Developer, iOS

@chadmoone

Questions?

#WAPODEVS