aboutsummaryrefslogtreecommitdiff
path: root/guides/git.md
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2018-09-14 17:59:21 -0700
committerJakob Odersky <jakob@driver.xyz>2018-09-14 17:59:21 -0700
commit876fccbbde53e27b3fb820808d2c336ca71aa7e1 (patch)
tree0143fa9b434091470d2466a6d719e9bb37d969d9 /guides/git.md
parent07fb4ce6471aef531a1246c8fd9d200f23c119d2 (diff)
downloadbest-practices-876fccbbde53e27b3fb820808d2c336ca71aa7e1.tar.gz
best-practices-876fccbbde53e27b3fb820808d2c336ca71aa7e1.tar.bz2
best-practices-876fccbbde53e27b3fb820808d2c336ca71aa7e1.zip
Make this repo a standalone website
These changes add the ability to generate a full website from individual style guides. The website can be viewed [here](drivergroup.github.io/best-practices). Also included, are the following additions: - Improve recommendations for Scala. - Add more recommendations for Git. - Add recommendations for Shell Script.
Diffstat (limited to 'guides/git.md')
-rw-r--r--guides/git.md29
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.