Branching Strategy and Convention
This page describes how branches are created and maintained in eAppointment development.
Branch Naming Convention
To keep our branch names organized and easily understandable, we follow a specific naming convention for all branches created in this repository. Please adhere to this convention when creating new branches:
type: The type of work the branch represents. This should be one of the following:
feature: For new features or enhancements.bugfix: For bug fixes.hotfix: For urgent fixes that need to be applied quickly.cleanup: For code refactoring, or documentation updates.docs: For updating documentation such as the README.md CODE_OF_CONDUCT.md LICENSE.md CHANGELOG.md CONTRIBUTING.md. Providing a ticket number or project for docs is optional.chore: For maintaining and updating dependencies, libraries, PHP/Node/Twig Versions, or other maintenance work.
project: The project identifier. This should be:
zmsfor the ZMS project.zmskvrfor the ZMSKVR project.mpdzbsfor the MPDZBS project.muxdbsfor the MUXDBS project.ghGitHub-only issue tracking.
issue number: The ticket or issue number related to this branch (use digits only). This helps track the branch to a specific issue in the project management system.
description: A brief, lowercase description of the branch's purpose, using only lowercase letters, numbers, and hyphens (
-).
- Always use lowercase letters and hyphens for the description.
- The issue number should be a numeric ID corresponding to the relevant ticket or task.
- Descriptions should be concise and informative, summarizing the branch's purpose.
Examples
- Feature Branch:
feature-zms-12345-this-is-a-feature-in-the-zms-project - Bugfix Branch:
bugfix-mpdzbs-67890-fix-crash-on-startup - Hotfix Branch:
hotfix-zmskvr-98765-critical-fix-for-login - Cleanup Branch:
cleanup-mpdzbs-11111-remove-unused-code - Chore Branch:
chore-zms-2964-composer-update - Docs Branch:
docs-zmskvr-0000-update-readmedocs-zms-release-40-update-changelog - Feature Branch:
feature-muxdbs-54321-add-bundid-integration
Regular Expression
The branch name must match the following regular expression: ^(feature|hotfix|bugfix|cleanup|maintenance|chore|docs)-(zms|zmskvr|mpdzbs|muxdbs)-[0-9]+-[a-z0-9-]+$
Please only branch features and bugfixes from the integration branch next. Hotfixes and Documentations may be branched from main.
---
config:
gitGraph:
parallelCommits: true
---
gitGraph LR:
commit tag: "2.25.00-muc1"
branch next order: 30
commit
checkout main
branch hotfix-1 order: 5
commit
checkout main
merge hotfix-1 tag: "2.25.00-muc1-hotfix1"
checkout next
merge main id: "Merge-back"
commit
branch feature1 order: 40
commit id: "Feature für Sprint 1"
commit type: HIGHLIGHT id: "Erste Überprüfung"
checkout next
merge feature1
checkout next
commit type: HIGHLIGHT id: "Tests Sprint 1"
commit type: HIGHLIGHT id: "Sprint 1 fertiggestellt"
checkout main
merge next
commit type: HIGHLIGHT id: "Abnahme Tests"
commit tag: "2.25.00-muc2"