Skip to content

Simple Git Workflow For Continuous Delivery

Workflow guidelines:

  • master branch is always production-ready, deployable, 100% green test suite
  • New development is done on feature branches, with frequent rebasing onto master
  • Clean commit history by preferring to rebase instead of merge (git pull is configured to automatically rebase)

Workflow

  1. Pull the latest from origin/master:
  2. Create your feature branch
  3. Begin work on the new feature
  4. Keep your feature branch updated with master by rebasing onto master:

    or

    Resolve any conflicts that occur during rebase.
  5. Push your branch remotely and create a pull request when ready for peer review:

    Depending on peer review, keep pushing changes to the remote as needed.
  6. Interactively rebase your feature branch onto master once the feature is approved and ready for production:
  7. Merge into master:
  8. Remove all branches that have been merged into master:

Notes

  • Git config for rebasing by default:
  • Merging into master in step 7 with the –no-ff option will create a merge commit even if the merge could be a fast-forward. Having this merge commit is helpful in that it retains the commits that went into the feature branch. (If you don’t care to keep this series of commits on a feature branch or the feature branch was a single commit, you can omit the --no-ff in the merge command and let it fast-foward.) Single-level merge bubbles like this are ok. Here’s what we don’t want:

credits: https://gist.github.com/leesmith/8441773#workflow-guidelines

Published incodingdeployment

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *