Are you sure that no one have been working on your stuff?
- check if an issue is not already present
- create if not exists
- `[refactoring/]task-description/{destination-branch}`
- `[feature/]task-description/{destination-branch}`
- `[fix/]task-description/{destination-branch}`
- `[enhance/]task-description/{destination-branch}`
Always start with git checkout -b xxx/{branch} {branch}
. For example, if you need to add new feature:
- `git checkout -b feature/task-description/master master`
In some cases there are just the needs to add some components. In these case, is suggested enhance branch:
- `git checkout -b enhance/task-description/master master`
Every time you need to refactoring your code to prepare next release or just to make some other tasks:
- `refactoring/task-description/{destination-branch}`
Every time you need to fix a bug or just apply a little patch
- `fix/task-description/{destination-branch}`
- select issue
- create branch named with issue number from right branch
- fix
CHANGELOG
file - code!
- remember tests if necessary
- squash all your commits
- open pull request
- wait feedback
- select issue
- create branch named with issue number from master
- fix
CHANGELOG
file - code!
- remember tests if necessary
- squash all your commits
- wait feedback
- open pull request
- rename master branch to X.0 where X is the new major release
- remove all deprecated codes
- keep all tests in green
- tag branch X.0.0
- create new master branch
- remember fix merge message with [close #XXX] message
- merge on relative minor/master
- increment patch release number
- tag branch X.Y.{+1}
- create new minor
- merge on relative minor/master
- increment minor release number
- tag branch X.{+1}.0
- create new major release
- increment major release number
- tag branch {+1}.0.0
Always, when a new feature or new fix were added, also CHANGELOG
should be updated. Commit message should be the same added in CHANGELOG
.
Commit message must be [closed #42] - message