For non-developers (people without push access) the following workflow is strongly recommended. This guide is setup assuming you are making a change with the intent of getting it included in the main Jasig/uPortal GitHub repository. If you are using git to maintain a customized version of uPortal please see Git Workflow for Vendor Branching
Keeping Up To Date
These instructions can be applied to any branch by replacing master with the branch you're interested in keeping up to date, rel-3-2-patches for example.
Never Commit to Master!
Or any other branch that exists in the https://github.com/Jasig/uPortal repository. If you do make a commit on a branch that is tracking a real uPortal branch and that commit is not accepted as part of a pull request you will be maintaining that customization for the rest of your fork's life. It is always better to not commit on project branches for a project that you do not have push access to and to use topic or vendor branches instead.
Making a Change
Use these instructions when making a change that you intend to be merged into the Jasig/uPortal repository.
- Follow the steps in Keeping Up To Date
Create a Topic Branch
- Make your changes
Commit your changes
- Repeat Steps 3 & 4 until the Topic work is complete
If during the work on the topic branch there is a change on master that you need to complete the work on the topic branch use the rebase command to replay your changes on the latest state of the master branch
Push your Topic Branch
- Follow http://help.github.com/send-pull-requests/ to make a pull request from your UP-XXXX topic branch to Jasig/uPortal
Once the pull request has been merged delete your topic branch