this process suppose all devs have push&pull access to all repositories
-
create a branch:
git checkout master // to make sure you branch from
master
git checkout -b fixXXX
-
Think, Code, Test, Be Awesome
-
Commit(s)
-
Create origin's branch fixXXX and push code there
git push origin fixXXX
-
Open branch fixXXX on github
-
Create a pull request starting with: "My awesome new fix/feature"
Do not send any extra email (they should have received the review request since they watch the repo) People comment directly on the pull request
-
Discuss reviews directly on pull request & amend code
git commit
git push origin fixXXX
Notify by a comment on pull request that you amended the code
-
When reviewed & ready, squash some commits, rebase it and push (don't use the github button)
git rebase master // if the master have changed since
git rebase -i // to squash/edit some commits
git checkout master
git merge -no-ff fixXXX
git push origin master
-
Cleanup branch
git branch -d fixXXX
git push origin :fixXXX
-
Click on the pull request you received
-
Checkout the diff
-
If it makes sense run the branch:
git fetch origin
git checkout -t origin/fixXXX
Run the project
-
Comment directly on the pull request without sending email
-
Notify directly on the pull request by a comment when you are OK with the fix