training:github_asynchronous_workflow

Github Asynchronous Workflow

One of the advantages (and features) of using git is that you're able to more easily split up the work between you and other members of your team. This page will talk about how you can use Github to work asynchronously.

Steps

  1. Figure out what you want to work on
  2. Create a new branch for your work - name the branch with something descriptive.
    1. Ex. “add-user-page”
  3. Do some work. Take a break, do some more work.
  4. Push up your branch up regularly, and make sure you push up when you're done working for the day
  5. Go to the repository in GitHub and submit a pull request for that branch
    1. Name it with that feature that you're working on
    2. Append WIP (Work in Progress) to the name
    3. Ex: “WIP: Re-design for front page”
    4. Ex: “WIP: Fix bug for
  6. Take a break or stop working for the day
  7. Finish your work, push up the branch again
  8. When you're done replace the “WIP” string with “Review: ”
    1. “Review: Re-design for front page”
  9. Tag someone else for a code review
    1. Fix any small suggestions they may have
    2. Leave large changes for another branch if it'll take you a long time
  10. Remove the “Review” string and merge the pull request
  11. Delete the branch.

Reminders

  1. Make sure you push up your branch regularly if you're working on it for a couple of days
  2. Try to always get a code review! It's a good learning experience for everyone

Comments

In general, this workflow allows us to work on features during our own time without having to meet together all the time. It's still good to meet together for some features, but the smaller ones can now be handled easier online. If you have any questions you can tag someone directly on the pull request and they can reply there.

Examples

These closed pull requests provide some good insight to how the workflow can work:

Authors

Contributing authors:

kluong

Created by kluong on 2016/05/15 18:47.

  • training/github_asynchronous_workflow.txt
  • Last modified: 2021/09/19 21:59
  • (external edit)