user3779502
user3779502

Reputation: 173

GitHub Flow and Daily Deployments (Syncing with Master)

We are a software company that has a few different projects and lines. We have decided to go with the GitHub Flow model. However, we hit a small roadblock and was wondering how it's handled elsewhere.

Our developers...

  1. create Branch to Develop;
  2. once they finish the branch they sync with master;
  3. create a Pull Request (where code review happens);
  4. sends it to QA for Final Acceptance and merge into Master.

However, there is a major slowdown in that, anytime one branch is merged into master, all the other branches that are currently in queue need to be resync'd and then QA'd. So, instead of multiple QA's working on multiple branches, they almost have to wait until one is done. resync.. QA. I know automated testing will help and we are building that out right now, but is there another way?

Upvotes: 0

Views: 205

Answers (1)

morxa
morxa

Reputation: 3364

You don't need to rebase master or merge master (I suppose that's what you mean by resync) after master has been updated. Instead, you can merge the topic branch directly into master. You can skip step 2 above. From the GitHub Flow (emphasis added):

If the branch has been open for too long and you feel it’s getting out of sync with the master branch, you can merge master into your topic branch and keep going. You can easily see in the pull request discussion or commit list when the branch was last brought up to date with the ‘master’.

You only need to merge master into your topic branch if you think your topic branch may break the updated master. Otherwise, you can directly merge the topic branch into master.

Upvotes: 1

Related Questions