Keeping the information and advice in PMRoK up to date is important not only for the Voyage that's currently in progress, but also for future Voyages. Not only does contributing help build the repository of PM knowledge for the PM's that will follow you, but doing so will also help you to improve and extend your PM skills.
Making corrections or adding content to PMRoK follows a process very similar to the one you use when making contributions to your Voyage projects. GitHub Wiki's are implementated in a manner that doesn't allow changes to be approved and merged use the Pull Request (PR) mechanism available to normal repos.
Due to this a "mirror" repo has been created that you will use to make changes
just like you do in a normal project repo. TravisCI integration has been set
up in the mirror to automatically push changes from the master
branch once
a PR for a change has been reviewed, approved, and merged from development
into master
.
This architecture was adapted from this article and the following diagram depicts the change management flow for PMRoK.
Start by cloning the "mirror" repo, pmrok-chgmgt,
your computer. By default the development
branch will be cloned onto your computer.
If you have previously cloned the "mirror" repo you should always refresh it from the PMRoK Wiki, not the "mirror" repo. This will ensure that you start with all of the changes made by both you and others. To do a refresh:
- Make sure that you have defined an 'upstream' remote in your local repo using the command:
git remote add upstream https://github.com/Chingu-cohorts/pmrok.wiki.git
- If you are unsure if you have defined this remote you can display all remotes in your local repo using the command:
git remote -v
- To pull changes from the PMRoK Wiki to your local "mirror" repo checkout your working branch in your local repo and then pull the contents of the upstreams
master
branch into it before making any changes.
git checkout <working-branch>
git pull upstream master
- Create a new working branch with a descriptive name. For example,
fix/softskill-url
. Any changes or additions to make should be made to this working branch. - Refresh the repo with the latest version of upstream/master as described above.
- Make your changes. Remember to issue frequent commits if you are making multiple changes so there is a detailed trail of each change you've made.
- When you are ready to share with others or if you just need to ensure that your in progress work
is backed up push your changes to the
pmrok-chgmt
repo using the same working branch name. For example,git push origin fix/softskill-url
. - If you should need to refresh your working branch from GitHub simply
git pull origin <working-branch>
. - When your changes are completed you can start the process of promoting them to the wiki by
creating a PR to merge your changes into the
development
branch. Be sure to selectPMCAB
as the reviewer and once changes have been reviewed and approved you will be responsible for performing the merge. - Once your change has been merged into the
development
branch it will be ready to merge into themaster
branch along with changes submitted by others. A member of the PMRoK Change Approval Board (PMCAB) will periodically create a PR to promote all changes fromdevelopment
tomaster
. - Merging into
master
by a member of the PMCAB will automatically start the TravisCI integration script to move changes to the PMRoK Wiki. - Once the TravisCI integration script has completed the approved changes will be available to all users of the PMRoK Wiki.
If you are curious about the Change Approval Board process it is a concept that's part of the Information Technology Infrastructure Library, which is a set of best practices for managing IT infrastructure assets.