Dev Flow - admetricks/style GitHub Wiki

To develop you need to follow this steps:

  1. Go to master and pull

    git checkout master

    git pull

  2. Create a local branch using the ticket keywords and Pivotal id like this:

    git checkout -b "<ticket_keywords>-<pivotal_id>"

    git checkout -b "mixpanel-hooks-87511218"

  3. Code and commits

    some very clean code

    git commit -a -m "[#<pivotal_id>] <solution_description>"

    git commit -a -m "[#87511218] Created a new service that gets the data from webhooks and sends it to mixpanel"

  4. When you are done, pull from master, and rebase with the appropriate naming while squashing all your commits into one

    git checkout master

    git pull master

    git checkout <ticket_keywords>-<pivotal_id>

    git rebase -i master

  5. If you have conflict, resolve, add files

    git rebase --continue

  6. Either way, push to branch

    git push -f origin "<ticket_keywords>-<pivotal_id>"

    git push origin "mixpanel-hooks-87511218"

  7. Wait for the deploy, then go to the url of your branch and TEST IT VERY WELL (you are responsable)

    http://<branch_name>-<repo_name>.<our_paas>

  8. If it works, go to Github.com and create Pull Request to Master branch with a name that has the pivotal_id and the ticket keywords

    [#<pivotal_id>] <ticket_keywords>

    "[#87511218] Implemented the Mixpanel Hook"

  9. In the description, describe the issue and your solution, comment any important lines

    You can use these titles: Issue, Story, Cause, Solution

    Issue: (for bugs)

    Story: Need to import user actions to mixpanel

    Cause: (for bugs)

    Solution: Created a new service that gets the data from webhooks and sends it to mixpanel

  10. Ask for someone to review your code by mentioning him in the Pull Request

  11. If he accepts it: Merge to Master, wait for the deploy, TEST IN PRODUCTION

It is your responsibility to break things in production!

  1. If all is good: Delete branch

  2. In Pivotal mark as delivered, explain how someone can test to accept or reject.

⚠️ **GitHub.com Fallback** ⚠️