- 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
- 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 and , 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