Child pages
  • Git Workflow for Non-Committers
Skip to end of metadata
Go to start of metadata

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

Project Setup

See http://help.github.com/fork-a-repo/ for information on how to create a fork, clone it and add a reference to the https://github.com/Jasig/uPortal repository.

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.

On This Page

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.

  1. Follow the steps in Keeping Up To Date 
  2. Create a Topic Branch 

  3. Make your changes
  4. Commit your changes 

  5. Repeat Steps 3 & 4 until the Topic work is complete
  6. 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

  7. Push your Topic Branch 

  8. Follow http://help.github.com/send-pull-requests/ to make a pull request from your UP-XXXX topic branch to Jasig/uPortal
  9. Once the pull request has been merged delete your topic branch