We are using the GitHub Flow (but using GitLab).
Here is a 5 minute outline of the process: Understanding the GitHub Flow
This YouTube video has an excellent overview of the thinking behind the process: How GitHub Uses GitHub to Build GitHub by Zach Holman
We would like the pull request for all code to be reviewed by another
member of the team before the code is accepted into
Here are some notes which try and explain how we use the workflow:
Create a branch¶
Always create a branch for the piece of work you are doing next. The branch
name should be separated with dashes and start with the ticket number from the
CRM system (for help with
git branching, see git branching):
git checkout -b 508-dev-workflow
Do your development for this feature on this branch. Commit and push as often as you like:
# when you try a push the first time, you might be asked to set the origin git push --set-upstream origin 508-dev-workflow
If you want to switch back to the
# commit your changes, then... git checkout master
To list branches:
git branch -a
If you want to switch back to the branch:
# commit your changes, then... git checkout 508-dev-workflow
To pull the latest changes from
master into your branch:
git checkout master git pull git checkout 508-dev-workflow git rebase master # not sure if we need to commit after this?
When you would like some help, or you are ready for the code to be reviewed, then create a pull request on GitHub.
Go to the repository. I found a button saying Compare and pull request which I clicked and filled in the details.
You can add the user name to notify a particular user e.g.
We can continue to comment and commit until we are happy with the pull request.
The pull request doesn’t have to be a small piece of code. It could happily contain a full sub-system.
When we are happy with the pull request, then someone other than the author can
click Merge pull request to merge the changes back into
master ready for