From 7020acb7bc16ed58038b8d08a181f4315ee076c7 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Fri, 30 Jun 2017 22:56:19 +0100 Subject: [PATCH] Initial commit --- common-flow.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 common-flow.md diff --git a/common-flow.md b/common-flow.md new file mode 100644 index 0000000..c01665c --- /dev/null +++ b/common-flow.md @@ -0,0 +1,38 @@ +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](http://scottchacon.com/2011/08/31/github-flow.html) +of [GitHub Flow](https://guides.github.com/introduction/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