Development
The git master
branch contains a blueprint
called Cluster1
. This blueprint is used in
production, so it must be kept in a stable condition, and only ever
updated with changes that have been fully tested.
-
A development branch called
devCopy
is created from themaster
branch. This branch will be used to hold sets of changes that can be passed on to the test department for testing. -
Developer 1 is given the task of adding a new feature to the
Cluster1
blueprint. He therefore creates another new branch (feature1
), this time based on thedevCopy
branch. Once this branch has been created, the developer can begin working, making changes to theCluster1
blueprint in thefeature1
branch. -
Developer 2 is given the task of adding another new feature to the
Cluster1
blueprint. He therefore creates yet another new branch (feature2
), also based on thedevCopy
branch. This developer can then make his changes to theCluster1
blueprint in thefeature2
branch. -
On finishing his changes, developer 1 merges the
feature1
branch back into thedevCopy
branch and deletes his working branch (feature1
). -
On finishing his changes, developer 2 merges the
feature2
branch back into thedevCopy
branch and deletes his working branch (feature2
). If any of developer 2's changes conflict with the changes made by developer 1, then he will have to resolve the conflicts while making the merge.
The result of this activity is a modified copy of the
Cluster1
blueprint in the devCopy
branch that contains the changes for two new features. These
modifications can therefore be passed on as a unit to the test
department for testing.