Coding new features

  1. Start a new issue: (!) Issues on GitHub

    1. git pull Make sure you have the latest copy of master.
    2. git checkout -b I# master Create the I# branch locally based upon the master branch.
    3. git push -u origin I# Create the branch on the server.
  2. Write code and push commits:

    1. Each commit message should begin with Ref ## to reference the issue number (i.e. Ref #1 to reference issue #1)
    2. git push Push latest commits to the server.
  3. End a task: (from master)

    1. git checkout master Set master as the working branch locally.
    2. git branch -D I# Delete I# locally. You no longer need it because everything is pushed to the server.
    3. git merge --no-ff origin/I# Merge the task into master and preserving branch history. All changes in master will show up as a single commit keeping the log simpler. The complete commit history will be preserved in I#.
    4. git push Push any changes to master to the server.
    5. git push origin :I# Delete I# from the server. It will still remain in the history along with every individual commit to it that was pushed, but it won’t be cluttering up the workspace.