Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We have a Staging Branch. Then we came out with a Beta branch for users to move whenever they wanted to from old Production branch to the new features.

Our plan seemed simple, we test on Staging, when items get QA'd, they get cherry-picked and deploy to Beta.

Here's the problem! A bug will discreetly make its way on to Beta, and since Beta is a production environment, it needs fixes fast and accurate. But not all the QA's got done. Enter Git hell..

So I find a problem on Beta. No sweat, it's already been fixed on Staging, but when I go to cherry-pick the item over, Beta barely has any of the other pre-requisites of code to implement this small change. Now Beta has a little here and a little there, and I can't imagine it as a code base being as stable as Staging. What's more, is I'm dealing with some insane Git conflicts, and having to monkey patch a bunch of things to make up for what Beta hasn't caught up with Staging.

Can someone polite or non-polite terms, tell me what we're doing wrong here as far as assembling this project? Any awesome recommendations or workarounds or alternatives to the system we came up with?

share|improve this question
add comment

marked as duplicate by gnat, MichaelT, GlenH7, Robert Harvey, Doc Brown Dec 27 '13 at 17:03

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 Answer

up vote 1 down vote accepted

You fix outright bugs in the Beta branch in Beta, not in Staging. Then you back port the fix from Beta to Staging, if necessary, before it gets overwritten.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.