Real
World

Workflow
s
Nicola Paolucci

Developer Advocate / Git Evang

I come out nice in
pictures, I know :-).

durd
n.co
m

@durd
n
You heard

has

Cheap local branching
Full local history

10x the speed of svn

Staging area
Huge community
Speed
Feature ...
ground breaking paradigm
is ground breaking
Workflow building blocks
We’ll cover how to choose:
1

Collaboration model

2

Branching model

3

Common Practices

4

Continuous Integration
Easy, right?

1

Which collaboration model?
I do my thing

ANARCHY

I do my thing, too

here’s mine, who
tells john?

look ma, a goat!

Fully decentralized
Anarchy
He is cool

Gatekeeper
Blessed repository
with Gatekeeper

To have your
work accepted,
Dictator
and Lieutenants
long live the King!

Lieutenants guard
the King

Blessed repository
Centralised
Shared
common
repository

we share “everything”

luckily no goats here
More on Collaboration models

atlassian.com/git
+

Enterprise

=Centralized
Branch & Repo permissions
Centralized allows fine
grained ACLs
Integration with your
Issue tracking and CI
2

Which branching model?
Two common Branching Models

1

Product Releases

2

Continuous Delivery
2.1

for Product Releases
maste

Time

feature
bugfix
branches
branch

PRJ-123PRJ-123-bug-

1

One Central Repository

2

One Branch per Feature

3

...
stable
branch

2.2

PRJ-345-bug-description

Time

bugfix

maste

Long running

4

Stable Branches

5

Pull Requests
Before...
2.2

for Continuous Delivery
promoted from staging, can receive hotfixes

1

master is in production

2

staging is the next version

3

new features o...
turbo boost!

3

Common

Practices
What is a Pull Request?
Pull Request
Low friction
I have some
code here!

Hey I have some code I
want to merge here,
take a look?

collaboration

...
Single Repository
vs
Remote Forks
Pros of a Single Repo
All feature
branches
available

1

Complete visibility

2

No per Dev remotes required

3

KISS
Forks
Are Great too BTW
With Forks
Every one has
their remote
repository

Full remote copy,
each has one

Integrator, Gatekeeper,
Tech Lead, etc.
Read “Cross”

1

Manage trust and maturity

2

X department and 3rd parties

3

Dev to Dev interactions
4

Continuous Integration
1

What happens to CI with git?

2

An explosion of branches

3

Performance degradation of build sys
1

Building everything is expensive

2

Automatically build stable and master

3

Manually trigger feature branch builds
5

Less Friction with
Advantage:
Integrated hooks
Advantage:
Merge checks
Advantage:
Fork syncing
In Conclusion: the recipe
Conclusions
Collaboration
Model

Branching
Model

Adopt Git
Practices

Build

Product
workflow

Automation &
CI setup

Emb...
More on
atlassian.com/git
Nicola Paolucci
THANK YOU FOR YOUR
ATTENTION

Should I change
the pic?

durd
n.co
m

@durd
n
Atlassian
Git Repository
Management for
Enterprise Teams
Free Git Code Hosting
for Small Teams
Free Git Desktop client
for...
Rate this Talk
Git Workflows a-la-carte
Text code below to 22333
or visit http://bit.ly/1eQ82V4
MEH = 1N
NO T BA D = 1P
P R...
Git Workflows a-la-carte
Upcoming SlideShare
Loading in …5
×

Git Workflows a-la-carte

1,586 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,586
On SlideShare
0
From Embeds
0
Number of Embeds
977
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Git Workflows a-la-carte

  1. 1. Real World Workflow s
  2. 2. Nicola Paolucci Developer Advocate / Git Evang I come out nice in pictures, I know :-). durd n.co m @durd n
  3. 3. You heard has Cheap local branching Full local history 10x the speed of svn Staging area Huge community Speed Feature based workflow prominent in Open Source Distributed cryptographic integrity
  4. 4. ground breaking paradigm is ground breaking
  5. 5. Workflow building blocks
  6. 6. We’ll cover how to choose: 1 Collaboration model 2 Branching model 3 Common Practices 4 Continuous Integration
  7. 7. Easy, right? 1 Which collaboration model?
  8. 8. I do my thing ANARCHY I do my thing, too here’s mine, who tells john? look ma, a goat! Fully decentralized Anarchy
  9. 9. He is cool Gatekeeper Blessed repository with Gatekeeper To have your work accepted,
  10. 10. Dictator and Lieutenants long live the King! Lieutenants guard the King Blessed repository
  11. 11. Centralised Shared common repository we share “everything” luckily no goats here
  12. 12. More on Collaboration models atlassian.com/git
  13. 13. + Enterprise =Centralized
  14. 14. Branch & Repo permissions Centralized allows fine grained ACLs
  15. 15. Integration with your Issue tracking and CI
  16. 16. 2 Which branching model?
  17. 17. Two common Branching Models 1 Product Releases 2 Continuous Delivery
  18. 18. 2.1 for Product Releases
  19. 19. maste Time feature bugfix branches branch PRJ-123PRJ-123-bug- 1 One Central Repository 2 One Branch per Feature 3 One Branch per Bugfix
  20. 20. stable branch 2.2 PRJ-345-bug-description Time bugfix maste Long running 4 Stable Branches 5 Pull Requests Before merges 6 master is alpha / RC
  21. 21. 2.2 for Continuous Delivery
  22. 22. promoted from staging, can receive hotfixes 1 master is in production 2 staging is the next version 3 new features off staging with branch names like: username/ISSUE-KEY-summary
  23. 23. turbo boost! 3 Common Practices
  24. 24. What is a Pull Request?
  25. 25. Pull Request Low friction I have some code here! Hey I have some code I want to merge here, take a look? collaboration Can I merge it here?
  26. 26. Single Repository vs Remote Forks
  27. 27. Pros of a Single Repo All feature branches available 1 Complete visibility 2 No per Dev remotes required 3 KISS
  28. 28. Forks Are Great too BTW
  29. 29. With Forks Every one has their remote repository Full remote copy, each has one Integrator, Gatekeeper, Tech Lead, etc.
  30. 30. Read “Cross” 1 Manage trust and maturity 2 X department and 3rd parties 3 Dev to Dev interactions
  31. 31. 4 Continuous Integration
  32. 32. 1 What happens to CI with git? 2 An explosion of branches 3 Performance degradation of build sys
  33. 33. 1 Building everything is expensive 2 Automatically build stable and master 3 Manually trigger feature branch builds
  34. 34. 5 Less Friction with
  35. 35. Advantage: Integrated hooks
  36. 36. Advantage: Merge checks
  37. 37. Advantage: Fork syncing
  38. 38. In Conclusion: the recipe
  39. 39. Conclusions Collaboration Model Branching Model Adopt Git Practices Build Product workflow Automation & CI setup Embrace PR automatically, but leave knobs! Centralized Continuous delivery workflow Single Repo or Forks Hooks, hooks everywhere
  40. 40. More on atlassian.com/git
  41. 41. Nicola Paolucci THANK YOU FOR YOUR ATTENTION Should I change the pic? durd n.co m @durd n
  42. 42. Atlassian Git Repository Management for Enterprise Teams Free Git Code Hosting for Small Teams Free Git Desktop client for Mac or Windows
  43. 43. Rate this Talk Git Workflows a-la-carte Text code below to 22333 or visit http://bit.ly/1eQ82V4 MEH = 1N NO T BA D = 1P P R ET T Y GO O D = 1Q A WES O ME = 1R To join this session, send text 136888 to

×