• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Git Ready! Workflows

Git Ready! Workflows



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 ...

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



Total Views
Views on SlideShare
Embed Views



27 Embeds 4,863

http://blogs.atlassian.com 3921
http://cloud.feedly.com 358
http://feeds.feedburner.com 125
http://newsblur.com 109 74
http://localhost 50
http://www.newsblur.com 47
http://javaczyherbata.pl 46
http://digg.com 35
http://www.feedreader.com 19
http://feedproxy.google.com 18
http://feedly.com 14
http://reader.aol.com 12
http://plus.url.google.com 5
http://confluence 5
http://summary 4
https://twitter.com 3
http://www.feedspot.com 3
http://webcache.googleusercontent.com 3
http://translate.googleusercontent.com 3
http://www.hanrss.com 2
http://inoreader.com 2
http://fmindev.marksimon.de 1 1
http://smashingreader.com 1
http://reader.aol.ru 1
https://www.google.ch 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Git Ready! Workflows Git Ready! Workflows Presentation Transcript

    • 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 based workflow 10x the speed of svn Distributed cryptographic integrity
    • 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-description bugfix 2.2
    • 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-KEY-summary promoted from staging, can receive hot-fixes
    • 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 I merge it here?
    • 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 Embrace PR Build automatically, but leave knobs! Single Repo or Forks Collaboration Model Centralized Hooks, hooks everywhere
    • 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 Windows Atlassian