This document discusses different branching strategies for continuous delivery (CD), including traditional long and short lived feature branches as well as trunk-based development (TBD). It notes issues with traditional branching strategies and outlines how TBD works with all developers committing to a single branch. Feature toggles and branch by abstraction techniques are presented as ways to implement large features over multiple releases in a TBD workflow. Examples from Facebook and Google are provided that demonstrate how to scale TBD for large codebases.