summaryrefslogtreecommitdiff
path: root/doc/branches.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/branches.md')
-rw-r--r--doc/branches.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/branches.md b/doc/branches.md
new file mode 100644
index 00000000..0fb8316d
--- /dev/null
+++ b/doc/branches.md
@@ -0,0 +1,12 @@
+# Branches
+The branching model of this project is based on the workflow named [Git flow](https://nvie.com/posts/a-successful-git-branching-model/).
+
+It is based on 2 main branches:
+ - **master** : this branch is always ready to be reployed. It means that at any time, we should be able to build the branch and release a new version of the application.
+ - **develop** : this branch contains the latest development that will be integrated in the next release once it's considered as stable.
+
+New features should be implemented in **feature branches** created from **develop**. When the feature is ready, a pull-request is created and it'll be merge into **develop** when it is succesfully reviewed and accepted.
+
+To release a new version of the application, when develop is considered stable, a **release** branch is created from **develop**. This can be considered as a *release candidate* branch. When everything is OK, this release branch is merged into **master** and the release is generated (a tag is applied to git, the release note is finalized, binaries are built,...) from **master**.
+
+Git flow also supports the creation of **hotfix** branches when a bug is discovered in a released version. The **hotfix** branch is created from **master** and will be used only to implement a fix to this bug. Multiple hotfix branches can be created for the same release if more than one bugs are discovered. \ No newline at end of file