Ready! Workflows
Question time
at the end
Submit your
questions
Nicola Paolucci
Developer Advocate / Git Evangelist
@durdndurdn.comI come out nice in pictures, I know :-).
Cheap local branching
Full local history
Speed
Staging area
prominent in Open Source
Huge community
You heard has
Feature ...
ground breaking paradigm
is ground breaking
Workflow building blocks
1
Common Practices
2
3
Collaboration model
We’ll cover how to choose:
Branching model
Continuous Integration4
Which collaboration model?1
Easy, right?
Fully decentralized
Anarchy
I do my thing
I do my thing, too
ANARCHY
here’s mine, who tells
john?
look ma, a goat!
Blessed repository with
Gatekeeper
He is cool
Gatekeeper
To have your work
accepted, talk to him
and Lieutenants
Dictator
long live the King!
Lieutenants guard
the King
Blessed repository
Shared common
repository
we share “everything”
luckily no goats here
Centralised
atlassian.com/git
More on Collaboration models
+ = Centralized
Enterprise
Centralized allows fine
grained ACLs
Branch & Repo permissions
Integration with your
Issue tracking and CI
Which branching model?2
Product Releases1
Continuous Delivery2
Two common Branching Models
for Product Releases2.1
One Central Repository1
One Branch per Feature
One Branch per Bugfix
2
3
Time
master
feature
branches
PRJ-123-description
One Central Repository1
One Branch per Feature
One Branch per Bugfix
2
3
Time
master
bugfix
branch
PRJ-123-bug-description
Stable Branches4
master is alpha / RC5
Pull Requests6
Before merges
Long running
Time
master
stable
branch
PRJ-345-bug-des...
2.2 for Continuous Delivery
master is in production1
staging is the next version
new features off staging
2
3
with branch names like: username/ISSUE-KE...
Common Practices3
turbo boost!
What is a Pull Request?
Hey I have some code I
want to merge here,
take a look?
Low friction
collaboration
Pull Request
I have some
code here!
Can...
Single Repository
vs
Remote Forks
Complete visibility1
No per Dev remotes required
KISS
2
3
Pros of a Single Repo
All feature
branches
available
Forks
Are Great too BTW
Every one has their
remote repository
With Forks
Full remote copy,
each has one
Integrator, Gatekeeper,
Tech Lead, etc.
Manage codebase maturity1
X department and 3rd parties
Dev to Dev interactions
2
3
Read “Cross”
Continuous Integration4
What happens to CI with git?1
An explosion of branches2
3 Performance degradation of build sys
Building everything is expensive1
Automatically build stable and master2
3 Manually trigger feature branch builds
Less Friction and Automation5
Code Quality
via pre-commit hooks
Branch from green builds
Automatic merges for the win!
Time
master
stable
branch
PRJ-345-bug-description
bugfix
2.2
stable
branch
2.1
Automatic MERGES!
Ripple merges1
Server side update hook2
3 Or tool support
Read more at:
bitly.com/automatic-merges
In Conclusion: the recipe
Branching
Model
Adopt Git
Practices
Automation &
CI setup
Conclusions
Product
workflow
Continuous
delivery
workflow
Embrac...
Nicola Paolucci
THANKS YOU FOR YOUR ATTENTION
@durdndurdn.comShould I change the pic?
Git Repository Management
for Enterprise Teams
Free Git Code Hosting
for Small Teams
Free Git Desktop client
for Mac or Wi...
Git Ready! Workflows
Git Ready! Workflows
Upcoming SlideShare
Loading in...5
×

Git Ready! Workflows

8,201

Published on

How do you choose a git workflow that increases productivity and reduces the friction of your team? What are the battle tested practices of successful teams that moved to git? How is git used inside Atlassian?

As you might have heard git has many compelling features and has gained incredible momentum in the industry at large. Yet understanding how an enterprise team can adopt it can be daunting. The presentation aims to help answer these questions and more:

- Available collaboration models when using a distributed version control system like git
- Branching models that foster and enhance parallel development
- Emerging code best practices and choices that can be safely adopted when migrating to git
- How Continuous Integration changes when your team embraces git

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,201
On Slideshare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
75
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Git Ready! Workflows

  1. 1. Ready! Workflows
  2. 2. Question time at the end Submit your questions
  3. 3. Nicola Paolucci Developer Advocate / Git Evangelist @durdndurdn.comI come out nice in pictures, I know :-).
  4. 4. Cheap local branching Full local history Speed Staging area prominent in Open Source Huge community You heard has Feature based workflow 10x the speed of svn Distributed cryptographic integrity
  5. 5. ground breaking paradigm is ground breaking
  6. 6. Workflow building blocks
  7. 7. 1 Common Practices 2 3 Collaboration model We’ll cover how to choose: Branching model Continuous Integration4
  8. 8. Which collaboration model?1 Easy, right?
  9. 9. Fully decentralized Anarchy I do my thing I do my thing, too ANARCHY here’s mine, who tells john? look ma, a goat!
  10. 10. Blessed repository with Gatekeeper He is cool Gatekeeper To have your work accepted, talk to him
  11. 11. and Lieutenants Dictator long live the King! Lieutenants guard the King Blessed repository
  12. 12. Shared common repository we share “everything” luckily no goats here Centralised
  13. 13. atlassian.com/git More on Collaboration models
  14. 14. + = Centralized Enterprise
  15. 15. Centralized allows fine grained ACLs Branch & Repo permissions
  16. 16. Integration with your Issue tracking and CI
  17. 17. Which branching model?2
  18. 18. Product Releases1 Continuous Delivery2 Two common Branching Models
  19. 19. for Product Releases2.1
  20. 20. One Central Repository1 One Branch per Feature One Branch per Bugfix 2 3 Time master feature branches PRJ-123-description
  21. 21. One Central Repository1 One Branch per Feature One Branch per Bugfix 2 3 Time master bugfix branch PRJ-123-bug-description
  22. 22. Stable Branches4 master is alpha / RC5 Pull Requests6 Before merges Long running Time master stable branch PRJ-345-bug-description bugfix 2.2
  23. 23. 2.2 for Continuous Delivery
  24. 24. master is in production1 staging is the next version new features off staging 2 3 with branch names like: username/ISSUE-KEY-summary promoted from staging, can receive hot-fixes
  25. 25. Common Practices3 turbo boost!
  26. 26. What is a Pull Request?
  27. 27. Hey I have some code I want to merge here, take a look? Low friction collaboration Pull Request I have some code here! Can I merge it here?
  28. 28. Single Repository vs Remote Forks
  29. 29. Complete visibility1 No per Dev remotes required KISS 2 3 Pros of a Single Repo All feature branches available
  30. 30. Forks Are Great too BTW
  31. 31. Every one has their remote repository With Forks Full remote copy, each has one Integrator, Gatekeeper, Tech Lead, etc.
  32. 32. Manage codebase maturity1 X department and 3rd parties Dev to Dev interactions 2 3 Read “Cross”
  33. 33. Continuous Integration4
  34. 34. What happens to CI with git?1 An explosion of branches2 3 Performance degradation of build sys
  35. 35. Building everything is expensive1 Automatically build stable and master2 3 Manually trigger feature branch builds
  36. 36. Less Friction and Automation5
  37. 37. Code Quality via pre-commit hooks
  38. 38. Branch from green builds
  39. 39. Automatic merges for the win!
  40. 40. Time master stable branch PRJ-345-bug-description bugfix 2.2 stable branch 2.1 Automatic MERGES!
  41. 41. Ripple merges1 Server side update hook2 3 Or tool support
  42. 42. Read more at: bitly.com/automatic-merges
  43. 43. In Conclusion: the recipe
  44. 44. Branching Model Adopt Git Practices Automation & CI setup Conclusions Product workflow Continuous delivery workflow Embrace PR Build automatically, but leave knobs! Single Repo or Forks Collaboration Model Centralized Hooks, hooks everywhere
  45. 45. Nicola Paolucci THANKS YOU FOR YOUR ATTENTION @durdndurdn.comShould I change the pic?
  46. 46. Git Repository Management for Enterprise Teams Free Git Code Hosting for Small Teams Free Git Desktop client for Mac or Windows Atlassian
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×