diff options
Diffstat (limited to 'guides/git.md')
-rw-r--r-- | guides/git.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/guides/git.md b/guides/git.md new file mode 100644 index 0000000..c03e447 --- /dev/null +++ b/guides/git.md @@ -0,0 +1,29 @@ +## Git + +- Use a simple branching model with one master development branch, and + create feature and backport branches as required. + + - The master branch should represent the latest development version. + + - Tag all released versions. + + - Backport branches may be spun off tags when they become necessary. + +- Proposed changes require at least one sign-off to be accepted into + master. + +- Large feature branches with multiple collaborators should be + *merged* into master. + + Rationale: rewriting history in public branches can break other + people's work and should not be done lightly. + +- Private feature branches should be *rebased* onto master, prior to + merging. *Squashing* is optional, but all intermediate commits + should contain meaningful changes and must pass continuous + integration tests. + + Rationale: private branches should be considered backups of work on + local developer machines and hence should not be relied upon by + others. Furthermore, a linear history is easier to reason about than + a branched one. |