You are an internal developer if you have writing permissions to the repository.
Most feature branches are never pushed to the repo, only do so if you expect that its development will take days (to avoid losing your work if you computer is damaged). Otherwise follow the following instructions to locally rebase your feature branch into `develop` and push those rebased changes online.
git describe --abbrev=0 --tags # Bump the release (0.1.0 to 0.2.0 => NEW_HOTFIX)
git checkout -b release/v[NEW_RELEASE] develop
```
1. Add new tag
```bash
git tag v[NEW_RELEASE]
```
1. Merge and push the release branch
```bash
git checkout develop
git merge release/v[NEW_RELEASE]
git push --tags origin develop
git branch -d release/v[NEW_RELEASE]
```
1. Fast-forward master
```
git checkout master
git merge --ff-only develop
git push
```
1. Go to [GitHub](https://github.com/carissalow/rapids/tags) and create a new release based on the newest tag `v[NEW_RELEASE]` (remember to add the change log)
## Release a Hotfix
1. Pull the latest master
```bash
git checkout master
git pull
```
1. Start a hotfix branch
```bash
git describe --abbrev=0 --tags # Bump the hotfix (0.1.0 to 0.1.1 => NEW_HOTFIX)
1. Go to [GitHub](https://github.com/carissalow/rapids/tags) and create a new release based on the newest tag `v[NEW_HOTFIX]` (remember to add the change log)