This assumes you have the following repos set up:
-
local
-
origin: your fork of the project on github
-
upstream: organization's original project on github
-
team members: other team members' forks on github, e.g. "max"
Do this before you start a new topic branch, merge anything, etc.
git pull upstream master
Make sure local repo is up to date, then:
git checkout -b topic_name
git push origin topic_name
then open pull request on github from that branch to organization's master
If the merge button on github doesn't work, you'll have to do it locally. Assuming Max opens pull request from branch "fix_js_error" and Zach wants to merge it in, Zach should do this:
git checkout master
git pull upstream master
git pull max fix_js_error
# resolve any conflicts
git push upstream master
# done now, but might want to:
git push origin master
Max's pull request will now be closed and his changes merged into master. Everyone will get these changes when they do
git pull upstream master