Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git With T for Team

Sven Peters
September 11, 2013

Git With T for Team

Git is not just a version control system. Git can change the way you interact with your team members. Lot's of teams don't think about reflecting their development workflow in Git and just use it out-of-the-box. Git, however, can be much more powerful, giving your team a boost in productivity, protecting your delivery pipeline and helping you to work better together.
In this session we will start with a central workflow that is used by a lot of Subversion teams. You will learn how to practically integrate ALM solutions like continuous deployment, code reviews, change tracking and much more into your individual workflow. You will find out how to protect your master branch from accidental commits, broken builds and unreviewed code. This presentation will help you discover the best way to work together as a team - whether you're yet to migrate to Git or even an experienced Git user.

Sven Peters

September 11, 2013
Tweet

More Decks by Sven Peters

Other Decks in Programming

Transcript

  1. SVN

  2. GIT

  3. CVS

  4. CHEAP BRANCHING EVERYTHING IS LOCAL GIT IS FAST GIT IS

    SMALL THE STAGING AREA DISTRIBUTED GITHUB & BITBUCKET GIT IS THE NEW STANDARD HUGE COMMUNITY GIT WHY IS GOOD*? * from Lemi Orhan Ergin
  5. GIT WHY IS GOOD*? CHEAP BRANCHING EVERYTHING IS LOCAL GIT

    IS FAST GIT IS SMALL THE STAGING AREA DISTRIBUTED GITHUB & BITBUCKET GIT IS THE NEW STANDARD HUGE COMMUNITY WORKFLOW CAPABILITIES * from Lemi Orhan Ergin
  6. RELEASE Can we fix a bug for the upcoming ?

    FEATURE Is the code for that complete? for the current version? HOTFIX Can we do a fast BUILD Can we the current code ? REVIEWED Has everybody the code for this feature ?
  7. MAKES A COPY OF A REPOSITORY ON THE SERVER YOU

    CAN NOT WRITE DIRECTLY TO THE ORIGINAL REMOTE REPOSITORY YOU CAN STILL GET CHANGES FROM THE ORIGINAL REMOTE REPOSITORY forking rocks!
  8. REPOSITORY FORKED REPOSITORY SYNCH Get updates on request or automatically*

    * with awesome tools like Stash or with Git hooks
  9. FORKING IN THE ENTERPRISE REASON 4 REDUCE THE NOISE and

    keep the overview for huge projects
  10. Production STAGING upcoming version THE WORKFLOW never direct integration... just

    for hotfixes only through Pull Request (except when not)
  11. Production STAGING without Pull Request THE WORKFLOW we create a

    HOTFIX branch (of course) and also merge to STAGING-Branch
  12. POTENTIALLY READY PROMISED SET OF FEATURES BUGS HAVE A BIG

    IMPACT RELEASES ARE EXPENSIVE AFRAID OF FAILURES
  13. FLOW GIT THE DEVELOP & MASTER BRANCH FEATURE BRANCHES RELEASE

    BRANCHES MAINTENANCE BRANCHES from Vincent Driessen
  14. HOW CAN I REMEMBER ALL THESE GIT COMMANDSAND RULES? there

    is a command line tool git flow release start 1.6 git flow feature start 'JRA-34 Add User' git flow feature finish 'JRA-34 Add User' git flow hotfix finish 1.5.3
  15. FLOW GIT WHY IT CAPTURES A LOT OF DEVELOPMENT SITUATIONS

    IT'S WELL KNOWN: EASY ADOPTION BUT I WON'T USE IT OUT-OF-THE-BOX: ADAPT IT!
  16. RELEASE 2.1 DEVELOP we need to fix a bug in

    2.0 RELEASE 2.0 STASH TEAM FLOW
  17. RELEASE 2.1 DEVELOP hotfix 2.0.1 and apply changes from RELEASE

    2.1 to DEVELOP RELEASE 2.0 STASH TEAM FLOW
  18. WANT WE STABLE DEVELOP BRANCH THAT IS CI TESTED to

    be sure, that we won't break things
  19. BUILD ON EVERY COMMIT KILLED OUR CI SERVERS x features

    branches * x pushes a day = server overload
  20. BUILD ON EVERY COMMIT ON MASTER, RELEASE & DEVELOP BUILD

    MANUALLY ON FEATURE BRANCHES DOING AUTO MERGES ON GREEN BUILDS OF DEVELOP
  21. DIFFERENT PEOPLE HAVE DIFFERENT VIEWS ON YOUR PROJECT cool developers

    incredible product owner amazing scrum master
  22. ISSUE TRACKERS CONNECT US CODERS WITH THE REAL WORLD cool

    developers incredible product owner amazing scrum master
  23. ISSUE TRACKERS CONNECTS GIT WITH THE REAL WORLD cool developers

    incredible product owner amazing scrum master
  24. WE LIVE IN CODE! LET ME WORK IN CODE I

    JUST NEED TO KNOW WHAT MY CODE SHOULD SOLVE!
  25. WHAT'S IN IT FOR ? SEE WHAT'S IN DEVELOP SEE

    ISSUES IN REVIEW SEE FINISHED ISSUES ALREADY MERGED WITH DEVELOP non geeks
  26. WHAT'S IN IT FOR ? DOING CODE REVIEWS IN CONTEXT

    BROWSING FEATURE DESCRIPTIONS SHOW CODE CHANGES
  27. 'START PROGRESS' ON AN ISSUE CREATES A FEATURE BRANCH DOING

    A PULL REQUEST MARKS THE ISSUE 'IN REVIEW' MERGING A FEATURE BRANCH MARKS THE ISSUE AS 'RESOLVED' GIT WORKFLOW
  28. 'START PROGRESS' ON AN ISSUE CREATES A FEATURE BRANCH DOING

    A PULL REQUEST MARKS THE ISSUE 'IN REVIEW' MERGING A FEATURE BRANCH MARKS THE ISSUE AS 'RESOLVED' ISSUE WORKFLOW
  29. 'START PROGRESS' ON AN ISSUE CREATES A FEATURE BRANCH DOING

    A PULL REQUEST MARKS THE ISSUE 'IN REVIEW' MERGING A FEATURE BRANCH MARKS THE ISSUE AS 'RESOLVED'
  30. 'START PROGRESS' ON AN ISSUE CREATES A FEATURE BRANCH DOING

    A PULL REQUEST MARKS THE ISSUE 'IN REVIEW' MERGING A FEATURE BRANCH MARKS THE ISSUE AS 'RESOLVED' GIT COMBINED ISSUE WORKFLOW
  31. PICTURES http://www.flickr.com/photos/80384851@N00/2653886484/ http://www.flickr.com/photos/21461615@N00/1353110751 http://www.flickr.com/photos/82402697@N00/449512594 http://www.flickr.com/photos/7228825@N05/675810372 http://www.flickr.com/photos/38451115@N04/4016842259/ http://www.flickr.com/photos/8749778@N06/5601758699/ http://www.flickr.com/photos/37831703@N00/3391877877 http://www.flickr.com/photos/60648084@N00/2900765643/ http://www.flickr.com/photos/28415633@N00/8401940159

    http://www.flickr.com/photos/41304517@N00/6814372181 http://www.flickr.com/photos/99796131@N00/120468504/ http://www.flickr.com/photos/92269745@N00/4612732045/ http://www.flickr.com/photos/57768341@N00/3800568262/ http://www.flickr.com/photos/43322231@N07/4390305784/ http://www.flickr.com/photos/40011478@N00/2890078135/ http://www.flickr.com/photos/33909206@N04/7638306424 http://www.flickr.com/photos/8340753@N04/501465437/ http://www.flickr.com/photos/33774513@N08/3510825685/ http://www.flickr.com/photos/55723329@N00/3631928376/ http://www.flickr.com/photos/11389536@N03/5235804240/ http://www.flickr.com/photos/43322231@N07/5410534167 http://www.flickr.com/photos/43322231@N07/5366609719 http://www.flickr.com/photos/43322231@N07/4205372249/ http://www.flickr.com/photos/43322231@N07/4466599835/ http://www.flickr.com/photos/45940879@N04/5598027415/ http://www.flickr.com/photos/83346641@N00/3517813158/