main
: Production branch. Should only receive merge requests via GitHub or GitLab, not from local GIT CLI. Needs reviews and tests to be merged.hotfixes
: Branch for emergency bug fixes from production branch.development
: Main development branch. Guide line for development. NO DIRECT DEVELOPMENT ON THIS BRANCH. Needs reviews to be merged withmain
.feature/bug/…
: Specific branches created fromdevelopment
to dev features, fix bugs, ...
feature/bug
→ development
→ preprod
→ main
type(scope): description - version
- build: Build system (npm, webpack, babbel, …)
- ci: Continuous integration (Travis, Circle, BrowserStack, SauceLabs, ...)
- db: Database
- docs: Documentation
- feat: New feature or feature update
- fix: Bug fix
- perf: Performances optimizations and improvements
- refactor: Changes inside code which do not change the way the application or website works
- clean: Files cleaning
- test: Tests
- env: Environment
- upgrade: Module or dependency updates
- update: other updates
Define the project part which is affected by the commit.
Examples:
update(app) # The update concerns the application globaly
update(auth) # The update concerns the Authentication module
update(auth & blog) # Modifications have been made on both Authentication and Blog modules
⚠ ATTENTION: If a commit concerns more than 3 modules, the scope would be app
.
A short description about the changes have been made.
The imperative present should be used to describe the changes. The past or present tense should NOT be used.
For example:
update(auth): change ... # NOT "changed" or "changes"
The decription should start with lowercase and end without dot.
The project version concerned by the changes. For example: 4.3.12
git commit -m “feat(account): graphical review - v4.4.62”