Files
common-flow/common-flow.md

1.5 KiB

Git Common-Flow 1.0.0-draft.1

Summary

Common-Flow is an attempt to gather the most common usage patterns of git out in the wild into a single and concise specification. Based on the original variant of GitHub Flow, while taking into account how a lot of open source projects use git.

  • The master branch should always be deployable / usable.
  • New work must be done on a descriptively named change branch created off of master.
  • Commit to the change branch locally, and regularly push your work to the same named branch on the remote server.
  • When you need feedback, help, or think the branch is ready for merging, open a pull request.
  • After someone else has reviewed and signed off on the change, you can merge it in to master.
  • New releases are created by committing a version bump commit directly to master, and then tagging that commit with the version.

Branch Types

  • Master Branch:
    • Should always be deployable / usable
    • Is considered "bleeding edge"
    • Must be named master
  • Change Branches:
    • Any branch that introduces changes (new feature, bug fix, etc)
    • Should be cut from master (in most cases)
    • Must have a descriptive name
  • Maintenance Branches:
    • Used to maintain old versions (back-porting security patches, etc)
    • Should follow a stable-X.Y naming pattern, where X is MAJOR version and Y is MINOR version