-
Make sure you are going to resolve a registered issue.
- If there is an issue registered, it should be well described and estimated before you start working on it.
- If there is not an issue registered, please register a new issue, add the description and the estimations before you start working on it.
-
Create a topic branch from where you want to base your work.
- This is usually from the development branch.
- To quickly create a topic branch based on master, run
git checkout -b <feature/my_feature_name> <development>
. Please avoid working directly on the master or development branches.
-
Move the issue to In Progress column.
-
Make commits of logical and atomic units.
-
Make sure your commit messages are in the proper format:
Commit header including the number of the issue you are solving ex. (#55)
Commit description (only if it is needed)
-
Before push your commits make sure you have added the necessary tests for your changes, and you run all the project tests.
-
Push your changes to the topic branch.
-
Move the issue|task to In Review column.
-
After the team approve the task:
- Move to the parent branch
git checkout <development>
and rungit pull <remote_name> <development>
. - Move to your topic branch and run
git rebase <development>
. - Solve all conflicts.
- Move to the parent branch
git checkout <development>
and rungit merge --no-ff <feature/my_feature_name>
. - Update the milestone in the task issue to the current month milestone.
- Move the issue task to Closed column.
- Delete the topic branch in the remote host
git push --delete <remote_name> <feature/my_feature_name>
. - Delete the topic branch locally
git branch -d <feature/my_feature_name>
.
- Move to the parent branch
-
If the team reject the solution:
- Move the issue to In Progress column.
- Solve the reviewer comments.
- Move the issue task to In Review column.
- Make sure to have a test coverage of at least 80% in each new code before pushing it.
├── evaluator
│ ├── api
│ │ ├── dto
│ │ └── resources
│ ├── app
│ └── domain
│ └── resources
└── tests