1. Introduction
This guide describes the Release Management process in a project using the Gitflow workflow. It enables structured, stable, and predictable delivery of software versions.
2. Gitflow Branches
| Branch | Role |
main | Stable production-ready version |
develop | Integration of ongoing development |
feature/* | Isolated development of new features |
release/* | Final preparation before going to production |
hotfix/* | Urgent bug fixes for production |
3. Release Process
3.1 Create the release Branch
When develop is stable and ready:
1
2
| git checkout develop
git checkout -b release/1.0.0
|
3.2 Stabilization Phase
Perform on the release branch:
- Minor bug fixes
- QA/UAT testing
- Version bump
- Minor adjustments (docs, configs…)
3.3 Deliver to main
1
2
3
| git checkout main
git merge release/1.0.0
git tag -a v1.0.0 -m "Release version 1.0.0"
|
3.4 Reintegrate into develop
1
2
3
| git checkout develop
git merge release/1.0.0
git branch -d release/1.0.0
|
4. Hotfix Management
If a bug is found in production:
1
2
3
4
5
6
7
8
9
10
11
12
| git checkout main
git checkout -b hotfix/1.0.1
# Fix the bug
git commit -am "Fix: critical bug"
git checkout main
git merge hotfix/1.0.1
git tag -a v1.0.1 -m "Hotfix 1.0.1"
git checkout develop
git merge hotfix/1.0.1
git branch -d hotfix/1.0.1
|
5. Roles and Responsibilities
| Role | Main Responsibilities |
| Developers | Feature development, bug fixes |
| Release Manager | Release planning and orchestration |
| QA / Testers | Quality validation |
| DevOps / Ops | Deployment to staging/production |
| Product Owner | Functional approval |
6. Best Practices
- Do not develop new features on a
release branch - Always merge
release into main and develop - Use Git tags for published versions
- Maintain a clear changelog
- Use explicit branch naming (
release/1.2.0, hotfix/1.2.1, etc.)
7. Release Tracker
| Version | Release Date | Status | Notes |
| v1.0.0 | 2024-06-01 | Released | Initial stable version |
| v1.0.1 | 2024-06-10 | Hotfix | Critical bug fix |
| v1.1.0 | TBD | In Progress | New features planned |
8. Diagram
gitGraph
commit
branch develop
checkout develop
commit id: "Feature A"
branch featureA
checkout featureA
commit id: "Work on Feature A"
checkout develop
merge featureA
commit id: "Prepare for release"
branch release1.0.0
checkout release1.0.0
commit id: "Final fixes"
checkout main
merge release1.0.0 tag: "v1.0.0"
checkout develop
merge release1.0.0