QESTNET Internal:Developer Git etiquette
===Starting on a new bug/change request.
- Checkout the development branch (e.g. alien) that the bug/change request will be added to.
- Pull or fetch from github the latest of the branch and ensure that your local copy is at the head.
- Create a new branch using the bug/cr and some form of descriptor as the name (e.g. cr4321-tv-map or bug1234-tv-map-ucs).
- Make regular commits to this branch as you are developing.
- Once initial development is complete rebase the bug/cr branch to a single commit.
- The bug/cr branch can now be pushed to github for testing.
- The tester will fetch and checkout the cr/bug branch to test it and give feedback.
- At this point make any required changes on the branch. Commit and push to github so that the tester can re-test.
- Once all development is complete, checkout the development branch again. Pull or fetch from github the latest of the branch and ensure that your local copy is at the head.
- Merge the bug/cr branch into the development branch, resolving any conflicts.
- The development branch can now be pushed to github for integration testing.
- Minor fixes required from integration testing can be made directly on the development branch. Any major problems development can revert back to the bug/cr branch.
- Once integration testing is complete or if it is not required the bug/cr branch can be deleted locally and on github.