Skip to content

Development Workflow

Spencer Elliott edited this page Apr 19, 2015 · 7 revisions

The following steps describe the process of contributing to Courseography:

  1. Create and switch to a feature branch based on up to date local master branch

    $ git checkout -b issue-12345
  2. Modify the files with the changes you want to implement. To check which files you've modified, as well as view your changes, use:

    $ git status
    $ git diff  
  3. Commit your changes (small commits are beautiful) on your feature branch

    $ git add path/to/file.hs  # Or `git add .`
    $ git commit  # This will open Git's default text editor
    
  4. Write a descriptive commit message when possible, such as "Issue 12345: Implemented x behaviour in file.hs"

  5. Repeat Steps 2, 3, & 4 until you are satisfied with your work and want to contribute to the main Courseography repository.

  6. Before setting up a review request, make sure your issue and master branches are up to date, making sure the change-sets you just pulled in do not affect your code:

    $ git checkout master
    $ git pull --rebase upstream master  # Pull remote changes from upstream
    $ git push                           # Push updates to your fork
    $ git checkout issue-12345
    $ git rebase master                  # Rebase your feature branch onto master
  7. Ready to submit? Push your branch to your personal Courseography fork:

    $ git push origin issue-12345
  8. Go to your GitHub fork and change to your issue branch. You should see the button "Pull Request". Fill in the issue number, quick summary of the issue, description of the fix, and what testing was performed.

  9. Click "Create Pull Request" and wait for feedback!