Web Development Branching Strategy
Create Repo in VSTS
Go to your VSTS site and create new project or repo. From the Code tab, you should see something like below that displays the URL to your repository.
Branch per Environment
When developing code I prefer to have a branch that corresponds to each server environment that we have.
Typically there is a Production
environment, a QA
environment, and a Development
environment.
Each developer has their own branch or branches but they integrate via pull requests into the Sprint
branch.
The branches flow as pictured
To automate the creation of the base branches I wrote a simple PowerShell script:
function InitializeGitRep ($repoUrl)
{
git clone $repoUrl
cd $repoUrl.Split('/')[-1]
New-Item ReadMe.md -type file
git add ReadMe.md
git commit -m "Add ReadMe"
git checkout -b Sprint master
git push -u origin Sprint
git branch -d master
git branch Production
git branch QA
git branch Development
git push origin --all
git remote show origin
}
At this point, you will need to manually set your branch policies to require pull requests and code reviews. Microsoft has an API in preview https://www.visualstudio.com/en-us/docs/integrate/api/policy/configurations but this is beyond the scope of this post. Not to mention my allotted time.