- go to master and get the most recent updates
git checkout master
git pull upstream master && git push origin master
- create a new feature branch to work in (remember never work in master)
git checkout -b SAK-xxxxx
- switch to the feature branch if needed
git checkout SAK-xxxxx
- work on your local feature, creating as many commits as needed
git commit -a -m "SAK-xxxxx: Issue title"
- once you are happy with your changes and believe it is ready for inclusion in sakai's project (upstream) squash your commits into 1 commit
see 6c above
- push your changes to origin in a branch typically with the same name
git push origin SAK-xxxxx
- next issue a pull request (PR) from your feature branch in origin to upstream master
on github.com, or from the command line with the hub tool: hub pull-request -m "SAK-xxxxx: Issue title"
- if review is needed this is the time for others to review your changes
- if further changes are required you switch to your local branch make the changes, commit, squash the commits, and then push them to the same branch in origin that the PR was issued from and PR will be updated automatically.
- repeat this step until changes are satisfactory
- if review is complete then the PR is merged
- optional branch can be deleted in origin when PR is merged