Branching patterns
In many cases, the choice of branching pattern (of the branching technique) depends on how stable the branch is, or in other words how healthy it is. A stable branch, or a healthy branch is a branch in such a state that the current tip commit on that branch always builds and deploys successfully, and the software runs with zero or at most a few bugs.
Ensuring that a branch is healthy pretty much requires doing daily builds and having a comprehensive suite of automated tests that are run frequently – if not at each commit, then at least at each integration (merge). However, explaining how to do this is outside the scope of this book.
Integration patterns
Deciding what branching strategy to use to integrate individual changes into a coherent and healthy mainline depends on various factors. Techniques that tend toward frequent integration, such as continuous integration, require the branch being merged into to be healthy. This requires a disciplined...