]> git.phdru.name Git - git-wiki.git/commitdiff
Add a chapter "Branching models"
authorOleg Broytman <phd@phdru.name>
Tue, 15 Sep 2015 02:03:30 +0000 (05:03 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 15 Sep 2015 02:12:58 +0000 (05:12 +0300)
pep-git.txt

index 620427afb6613a0ea03f53240fb294fcc0fe9aee..db703eb15e3f69c2e1ee31bfc9b72b000b5c95ed 100644 (file)
@@ -628,6 +628,33 @@ Git has a builtin merge strategy for what Python core developers call
     $ git merge -s ours v1  # null-merge v1 into master
 
 
+Branching models
+================
+
+Git doesn't assume any particular development model regarding
+branching and merging. Some projects prefer to graduate patches from
+the oldest branch to the newest, some prefer to cherry-pick commits
+backwards, some use squashing (combining a number of commits into
+one). Anything is possible.
+
+There are a few examples to start with. `git help workflows
+<https://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html>`_
+describes how the very git authors develop git.
+
+ProGit book has a few chapters devoted to branch management in
+different projects: `Git Branching - Branching Workflows
+<https://git-scm.com/book/en/Git-Branching-Branching-Workflows>`_ and
+`Distributed Git - Contributing to a Project
+<https://git-scm.com/book/en/Distributed-Git-Contributing-to-a-Project>`_.
+
+There is also a well-known article `A successful Git branching model
+<http://nvie.com/posts/a-successful-git-branching-model/>`_ by Vincent
+Driessen. It recommends a set of very detailed rules on creating and
+managing mainline, topic and bugfix branches. To support the model the
+author implemented `git flow <https://github.com/nvie/gitflow>`_
+extension.
+
+
 Advanced configuration
 ======================