4. Objective
What do we want to achive from
this session?
Independently apply GitFlow to
the current and future DDC
project(s) you will be working on
5. GitFlow
Came around 2009, by Vincent
To find out more
https://nvie.com/posts/a-successful-
git-branching-model/
It has the concepts of
oPermanent branches: master and
develop
oTemporary branches: feature, release
and hotfix
oTags
master branch reflects the production state at any
given point in time
develop branch reflects the latest completed
development features intended for potential release
6. Temporary Branches: feature
feature branch should be
created for each new feature
and nonemergency bugfix
It should be started from the
develop branch
While the new feature is WIP,
all changes will be committed
to the respective feature
branch
Once the feature is completed,
feature branch should be
merged back into develop and
the branch deleted
7. Temporary Branches: release
Created from the develop branch
when it has obtained all the
desired features for that release
This can be used as a staging area
for minor bugfixes or other little
changes that might be required
before the final release
It helps freeing up the develop
branch to continue taking new
feature while the release has
been tightened up
Once the release is complete that
branch should be merged both
into develop and master branch
Important: master branch should
be subsequently tagged with the
release version .
This makes source code for each
release available by
corresponding tag
8. Temporary Branches: hotfix
Branch off from the
master branch’s
corresponding tag (e.g.
1.0.0 => 1.0.1)
Once the hotfix has been
completed the code must
be merged back to master
and develop branch
And again has to be
tagged back upon merging
to the master
What’ll be the new tag as
per example?
11. What’s next
Anything that goes into UAT should be build off of the release branch
Then, same build can be promoted to production after UAT sign off
As mentioned during the upload, we are also working towards have
GitLab and Jira integrated so that each commit can be traced against a jira
ticket