Stash/Gitflow release workflow and forks/pullrequests?

Chris Ramakers March 24, 2014

We currently have a repository in stash that's configured to use the gitflow/release branch model (config).

Me and some colleague devs have a fork on which we do our day to day development in feature branches which are merged back into develop through a pull request which works fine!

Now we are going to release (release/1.4) and i'm kind of lost on how to proceed.

  • Do I create a release branch in my personal fork?
  • Do I create the release branch in the main/parent repository?
  • Do other devs update the release branch with possible last minute fixes through pull requests from their peronal release branch?
  • What do I do when everybody has checked the release? Do I merge the main release branch with the master branch of the same repo?

I've got a good grasp of gitflow working with the commandline but fail to see the picture with the pullrequest system in stash when working on my personal fork.

1 answer

1 vote
Manoj Shetty March 26, 2014

Hi,

One workflow for this problem can be:

1) Master branch is the production ready branch. Only the Team leader has permissions to write or merge on Master branch.

2) Before starting the next Iteration for the Sprint release, you can create a new Release branch 2.0 on the Remote Repo

3) Every developer will checkout from Release 2.0 branch before coding. Then create a new Feature branch based on Release branch.

4) Developer will do coding and commit on Local Repo - Feature branch

5) Developer will push the Local Repo Feature branch to Remote repo Feature branch

6) by this time, Bamboo build will trigger for the Remote - Feature branch - if Build pass then Pull request can be created

7) If build pass, Developer creates the Pull request and assign to Team leader for code review

8) Team leader will do the code review and merge Feature branch to Release branch - later the Bamboo build will trigger on Release branch

9) later the Feature branch will be deleted

10) after all Features are developed and merged, finally when the Release branch is stable and build is also pass.

11) QA team will do all testing on Release branch

12) if all pass on Release branch, Team leader will merge from Release branch to Master branch.

regards

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events