...
A feature branch is branched off the master branch, and development on that feature happens in parallel with master. When development is complete, a pull request is submitted, after which it is merged back into the master branch.
Pull Requests
All code that is to be checked in will be reviewed and merged through a pull request.
Naming Conventions
A pull request title should be in the format
Code Block | ||
---|---|---|
| ||
JIRA-#: Short Message Here |
If there is no JIRA ticket number, create a JIRA ticket for the commit.
Also, write your commit message/pull request title in the imperative: "Fix bug" and not "Fixed bug" or "Fixes bug." This convention matches up with commit messages generated by commands like git merge and git revert. If ever in doubt, try filling in the blanks
If you apply my commit, it will ___________
Code Block | ||
---|---|---|
| ||
ELEC-19: Add FSM implementation |
Sample Scenario
Alice is working on a project. She clones the repository
Code Block | ||||
---|---|---|---|---|
| ||||
git clone https://github.com/uw-midsun/some-repository.git |
and then creates a new feature branch.
Code Block | ||||
---|---|---|---|---|
| ||||
git branch -b yourher_great_feature |
Because Alice is a good developer, she routinely makes commits and pushes them to the remote repository (GitHub).
...
Once she feels like her code is ready for review, she opens a pull request and puts the code up for review. A Software Lead will work with her to review the code, and she'll make any changes, commit them, and add them to the review. Once this is approved, the changes can be squashed and merged.
TL;DR
- Create feature branch
- Perform development in feature branch
- Routinely push commits to remote tracking repository
- Put Create a pull request and put code up for review
- Make changes as necessary
- Squash and Merge into master