From 7df0d5aa614eb0085d16996b0812fccb01ac4714 Mon Sep 17 00:00:00 2001 From: Arctic Ice Studio Date: Mon, 24 Jul 2017 07:59:39 +0200 Subject: [PATCH] Add branch naming conventions This includes guidelines for core- and story branches, the predefined prefixes and definitions of the name components. GH-3 --- README.md | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ff6bc55..47fb83e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@

+

+

The Arctic Ice Studio Git Style Guide.

--- -To present [Git commits](https://git-scm.com/docs/git-commit) in an organized, standardized, and easy-to-read manner, this official style guide describes how the content should be structured, organized, spelled and formatted in all Arctic Ice Studio projects. +To present Git [commits](https://git-scm.com/docs/git-commit) and [branches](https://git-scm.com/docs/git-branch) in an organized, standardized, and easy-to-read manner, this official style guide describes how the content should be structured, spelled and formatted in all Arctic Ice Studio projects. There are only some strict rules but mostly guidelines since we are more interested in content than formatting and the review process may help contributors to conform to this guide later on. @@ -75,10 +77,39 @@ This metadata block **must contain the GitHub issue ID** and is **separated from **Multiple issues are separated by a comma** and **additional references** can be added in the next lines. -## Development +## Branch Naming + +> A branch should reflect the story of the commits it contains using a valuable and useful name to clarify its purpose during the development lifecycle and the persistency in the history. + +Arctic Ice Studio follows the [gitflow][gitflow] branching model with the deviations and additional conventions described below. + +Branches are an important major component for building open source projects regardless of the size. A well maintained branch merge story in the history will help to increase the long-term overall quality. + +### Core Branches + +The two infinite development lifecycle core branches must be lowercase named `master` and `develop`. + +### Story Branches -[![](https://img.shields.io/badge/Changelog-0.1.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/styleguide-git/blob/v0.1.0/CHANGELOG.md) [![](https://img.shields.io/badge/Workflow-gitflow--branching--model-81A1C1.svg?style=flat-square)](http://nvie.com/posts/a-successful-git-branching-model) [![](https://img.shields.io/badge/Versioning-ArcVer_0.8.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/arcver) +The lowercase name of a limited development lifecycle story branch must reflect the *type* separated by a slash from the *issue ID* and followed by the short and descriptive *title* using hypen delimiters. + +`/-` + +Example: `feature/gh-17-tokenizer-api` + +**Story Type Prefixes** + +* `feature` +* `improvement` +* `bugfix` +* `test` +* `task` +* `subtask` + +Every branch must contain *issue ID* which is important to automatically fire some hooks to track the commit in the related GitHub repository issues and pull requests and is **required to contribute to a project**. + +--- -<p align="center"> <img src="http://arcticicestudio.com/favicon.ico" width=16 height=16/> Copyright © 2017 Arctic Ice Studio</p> +<p align="center">Copyright © 2017 Arctic Ice Studio<br><a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-5E81AC.svg?style=flat-square"/></a></p> -<p align="center"><a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-5E81AC.svg?style=flat-square"/></a> +[gitflow]: http://nvie.com/posts/a-successful-git-branching-model