SlideShare is now on Android. 15 million presentations at your fingertips.  Get the app

×
  • Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

Git Branching for Agile Teams

by Ambassador at Atlassian on Dec 08, 2013

  • 4,376 views

Moving to Git opens up a whole new level of agility for software teams. Freed from the clunky code freezes and monolithic mega-merges that plague centralized version control, developers can isolate ...

Moving to Git opens up a whole new level of agility for software teams. Freed from the clunky code freezes and monolithic mega-merges that plague centralized version control, developers can isolate work in progress and build in narrow vertical slices with ease. Branching is so painless with Git that many teams are making new branches for each user story or bug fix they implement. This model is quickly becoming the new gold standard for agile teams – and for good reason!

Statistics

Views

Total Views
4,376
Views on SlideShare
4,285
Embed Views
91

Actions

Likes
7
Downloads
54
Comments
5

6 Embeds 91

http://svenpet.com 58
https://twitter.com 15
http://localhost 9
http://csurg 5
http://svensuniverse.wordpress.com 3
http://www.google.com 1

Accessibility

Categories

Upload Details

Uploaded via SlideShare 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.

Cancel

15 of 5 previous next Post a comment

  • JordanSilva3 Jordan Silva @svenpeters As I didn't see the presentation (only read the slides), I may have understood something wrong ;)
    But thanks for the clarifications!
    4 months ago
    Are you sure you want to
    Your message goes here
    Processing…
  • svenpeters Sven , Ambassador at Atlassian @JordanSilva3 I agree, a CI server is your safety net and your insurance that you don't have accidentally broken something. Of course every developer should make sure that the quality is good before the code hit the master branch.
    I don't know where you want to use auto branches for development? I never referred to it other than to the historic release branch example and to merge changes from master on CI-build success automatically to each individual feature branch to visualize integration problems early. I think in these two situations automatic merging is a time safer and doesn't violate the responsibility for each developer to write good quality code.
    4 months ago
    Are you sure you want to
    Your message goes here
    Processing…
  • JordanSilva3 Jordan Silva @svenpeters For hotfix usually only one developer working on it, but for development? Specially in small projects? Merge is part of the life unless you prefer to work with lock (or have the ownership of the code). And I think that it is developer's responsibility to ensure that her commit does not break the build (even when merging). In my point of view, a code change cannot be the last thing that a developer does before committing and delegate the responsibility of running Unit Test to some commit hook is a step back in a good development practice (beyond making process more complex as you said). 4 months ago
    Are you sure you want to
    Your message goes here
    Processing…
  • svenpeters Sven , Ambassador at Atlassian @JordanSilva3 That's a really good point. I was talking about auto merges for release branches. There is normally only one developer working on a hotfix that get merges in all following release branches, so you won't have 2 developers changing code at the same time.
    But said that: I won't trust it just like that. You need always have a CI server looking at your branches and build on change. If the build fails you of course have to fix your changes. Also if you manually merge changes like this, you can miss that somebody deleted your variable... no guarantee here.
    You could also have a pre commit hook that triggers your build server that runs a build against your changes and stops the merge if the build fails.... which could work but could also make things more complicated.
    4 months ago
    Are you sure you want to
    Your message goes here
    Processing…
  • JordanSilva3 Jordan Silva I really don't trust automatic merge for coding. My first experience with auto-merge was with ClearCase and, as expected, terrible. And Git does not do better in that feature and the reason is simple: if, for example, a developer deletes a instance variable and another one creates a new method, at the end of the file, that uses this instance variable, Git will auto-merge and the final result will be a non-compilable code in master (or in the integration branch)! I have faced such problem many times :( 4 months ago
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Git Branching for Agile Teams Git Branching for Agile Teams Presentation Transcript