As a project manager, I have discovered that different developers want to bring their previous branching method with them when they join the team. Some developers are used to performing individual work, branching from and merging right back into the master branch. Others have worked on large teams where old branches were never cleaned up, leaving thousands of stale branches along the way. This can really create some otherwise avoidable issues. Fortunately, Bitbucket makes branching, comparing file changes, merging, and cleanup an easy task.
It’s important to involve the whole team, get feedback, decide on the best branching method moving forward, and work on getting wall-to-wall buy-in. Create a branching workflow diagram, explain it to your team, and, as you are getting started, require merge approvals. Require approval. It will keep new users and old from merging when they shouldn't and where they shouldn't, ultimately making for a happier team.
My team agreed that we needed a model that would allow us to continuously fix bugs while developing new features and keep a clean branch for production while we ran alpha and beta tests. Pretty straightforward criteria for a team of app developers. We decided that the master branch would be our clean “Production” branch and we would have our working “Development” branch stem from it. On a daily basis developers branch from the Development branch to work on issues (Bugs from our Jira instance) or continue their work on new features and perform a pull request when they feel the task is complete. Once a sprint is completed, a branch from the Development branch is created for “Testing”. Work for the next sprint can continue on the Development branch and “Beta Bug Fixes” can be made on the Testing branch. When all testing is completed the Testing branch is pulled into the Development branch if any Beta Bug Fixes were made and then it is merged to the Production branch. Otherwise, development continues on its branch, the Testing branch is merged to Production and the Testing branch is removed.
Jonny Adams
Product Manager
Identiv, Inc.
Arlington, Texas
10 accepted answers
10 comments