Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

4
  • 2
    This is indeed the right answer -- the right solution is to prevent bad changes from ever reaching the master branch, not to let them land and then have to deal with rolling them back. Commented Aug 21, 2015 at 22:35
  • I think the problem here is that the questioner believes that the stated costs of "isolating you from the other developers and their changes" outweigh the benefits. The stated costs are the increased danger of non-trivial merges the longer two people diverge. IMO the benefit of being isolated from broken code is obvious. The questioner wants to take an "optimistic" strategy, where broken code is briefly available in master to be pulled, and then fix this situation once the tests fail. Everyone else takes a "pessimistic" strategy as you advise, and only makes passing code available to pull. Commented Aug 22, 2015 at 12:44
  • (where by "available to pull", I mean "pull from master", which ideally is something developers can do willy-nilly, but to achieve that you must delay commits arriving in master before they're tested and pass. If a developer wants to cherry-pick untested or tested-and-failed code that's fine too, and the code is "available" in that sense, it's just not what I'm referring to) Commented Aug 22, 2015 at 12:47
  • The right solution is to prevent bad changes from ever reaching ANY branch. Failed commits should never be made public, ever. Commented Aug 26, 2015 at 22:38