2. What is a workflow?
"...consists of a sequence of connected steps.." - Wikipedia
What are we looking?
An way to multiple developers
integrate a working code into a project
4. Why Gitflow?
■ Based on the graph you just saw.
■ Github - https://github.com/nvie/gitflow
■ Shortcuts for repetitive tasks.
■ Branch naming convention "<prefix>/<name>"
■ 2 main branches.
5. Main branches
1. master -> production-ready
2. develop -> latest for next release
Their lifetime is infinite.
6. Gitflow - prepare repository
$git flow init
When creating a new git flow workflow it ask you questions
the names of the branches - USE DEFAULTS.
when this is done a new develop branch is created
from master and from this point you never commit to
master branch anymore.
7.
8. Gitflow - Supporting branches
There are 4 supporting branches:
1. feature
2. release
3. hotfix
4. support
I will cover only feature since this is the only one you will
with.
9. Gitflow - Feature branches
● May branch off from: develop branch
● Must merge back into: develop branch
● Branch naming convention: anything except
master, develop, release/*, hotfix/* - our branching name will
consist with 3base_<issue #>_<feature name>
● Typically exist in developer repos only, not in origin - from
time to time I will ask to also push the specific branch also
to origin.
10. Gitflow - Create feature branches
$git flow feature start 3base_<issue #>_<feature name>
This is what it does:
$git checkout -b feature/3base_<issue #>_<feature name> develop
11.
12. Gitflow - finish feature branch
● git flow feature finish <feature name>
$git checkout develop
$git merge --no-ff myfeature - merges the branch to develop.
$git branch -d myfeature - deletes the local branch
$git push origin develop - push develop.
The --no-ff flag avoids losing information about the historical
existence of a feature
13.
14.
15. More on the subject
● gitflow on github -https://github.com/nvie/gitflow.
● A successful git branching model
● A short introduction to git-flow
● On the path with git-flow