Initiate a discussion of your idea or bug fix by starting a topic for it on the PBS Pro development forum:
Make sure you start your discussion in the Developers category in the forum
When you start your topic, use a summary of the feature or bug for your topic title. For example: Server Periodic Hook
In the forum, add a pointer to your design page
After you've started your topic, add an HTML link in your design page on Confluence that points to the discussion topic in the forum
Get review comments from community members about your bug fix or design. Make sure review comments are solicited and posted in the development forum, and not on the wiki. All discussion of your design and code should take place on the development forum.
Get approval for your design
For features or complex bugs, get sign-off of the high-level design approach from two people: one maintainer and one other contributor (who can be a maintainer). If you took a complex feature and broke it down into sub-tasks, and you are working on a sub-task, you need two sign-offs on the design for your sub-task. Make sure that all approvals are posted in the development forum, not on the wiki.
Make finding information easy
Add a link in the design page containing the EDD that points to the discussion, and vice versa.
Also add a link from the EDD to the pull request and vice versa.
Development cycle:
Update your (forked & locally cloned) repository's master branch with the golden repository's master (IMPORTANT: Your fork's master branch should not be touched with any of your development changes. It should just reflect the golden repository's master, exactly).
Error rendering macro 'excerpt-include' : No link could be created for 'Coding'.
Complete the development on your newly created branch.
Commit changes in the updated file to your branch with a good commit message. Make your commit message relevant and concise, so that it will be helpful to you later:
Push the development branch to your fork. By convention, 'origin' points to your forked repository on GitHub:
git push origin <JIRA ID>
Repeat the above steps until you are satisfied with your code change.
Fetch changes made to the golden repository by other contributors. By convention, 'upstream' points to the golden repository on GitHub:
git fetch upstream
Rebase your development branch with new changes from the golden repository's master. 'upstream/master' is the remote tracking branch for the golden repository's (upstream's) master branch, on your local machine:
git checkout <JIRA ID>
git rebase upstream/master
If there are conflicts, Git will throw an error message informing you so and ask you to resolve it before continuing the rebase.
Resolve conflicts the same way you resolve an ordinary merge conflict in Git. Here's a way to resolve conflicts from the command line.
Then, just continue the rebase operation:
git rebase --continue
If the conflict is complex or problematic, you can abort the current rebase operation instead of continuing, and come back to it later:
git rebase --abort
After the rebase is complete, you might want to clean up your branch's commit history:
Squash all your commits into fewer, meaningful change commits (just one suffices if the code change is small enough).