Mathieu Spillebeen
PRO
CONTRA
One branch fits all!
One-person linear approach
One-environment
Unreadable history
Occasional extra branches
A set of guidelines .
You can still do everything.
Sanitised documented workflow.
No more explanation.
1 local environment + 2 remote environments
2.2.1 You want to debug something on live or staging.
2.2.2 You are working on a tricky/new feature.
2.2.3 You are fixing feedback based on staging env.
2.2.4 You are quickly fixing a tiny bug on live.
2.2.2 You are working on a tricky/new feature
2.2.3 You are fixing feedback based on staging env.
2.2.3 You are fixing feedback based on staging env.
2.2.4 You are quickly fixing a tiny bug on live.
Production branch: master
Development branch: develop
Feature branch prefix: feature/
Release branch prefix: release/
Hotfix branch prefix: hotfix/
Further reading:
nvie.com/posts/a-successful-git-branching-model/
Get a free GUI for faster learning:
Questions before I procede?
BEFORE:
- Forgotten branches
- No clarity
- Scary releases
- Unclear merge conflicts
AFTER:
- Clear history
- Easy releases
- Clear merge conflicts
Develop
Feature
Drupal 6 & 7
Staging
Live
Features
Features
Drupal 8
Staging
Live
Config
manager
Config
manager
Full blown structure is great for big projects
FE = mergers
BE = branchers
Because now there is a bigger chance of people working in the same lines of code
Remember the one branch fits all solution?
Git should stay in the background
Git flow is used on every scale, but is experienced as slow on small projects.
Using Full blown Git Flow on small projects is like putting everything in features for small projects.
Adapt Git Flow to your own needs.
It makes sure developers think, before they create.
There are a couple of Git workflows too choose from:
atlassian.com/git/tutorials/comparing-workflows
@mathieuSpil
mathieu.spillebeen@gmail.com