Labs/Jetpack/FlightDeck/Code Workflow/Management Commands
This article is inspired by A successful Git branching model.
Main branches
- master
- trunk
master
We use master branch for development commits. That's the place where we will merge bug-#- hotfix-#- and release- branches.
trunk
Production branch. It is used to export code for production sites. That's the place where we will merge hotfix-#- and release- branches only.
Supporting branches
- bug-#-
- release-
- support-
- hotfix-#-
bug-#-
- May branch from: master
- Must merge back to: master
Branch naming convention: bug-1234-name_of_the_bug where 1234 is the number of the bug in bugzilla
These branches are used to develop new features for the upcoming or a distant future release. This branch exists for the time of development of this topic only. It's goal is to be merged back into master
workflow
Pull the bug-#- branch from developer john
git remote add -t bug-1234-name_of_the_bug john-577738-update_Bespin git@github.com:john/FlightDeck.git -f git checkout branch-1234-name_of_the_bug
Now it's possible to test if the feature is working. If so - merge it into the master
git checkout master git merge --no-ff bug-1234-name_of_the_bug
And delete the branch from your local repository
git branch -d bug-1234-name_of_the_bug
Push the master to the main repository
git push main master