Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2026.1

# Branching: branches versus streams

In the course of a collaborative development project, you might find it useful to split off the codeline into multiple codelines, each having a distinct purpose. This guide assumes the reader is using streams, but notes where instructions differ for branch users.

## Example

When a certain milestone is reached in development, you might choose to copy the code into a new codeline for internal Quality Assurance testing, thereby creating a branch for testing.

After the codes passes all tests, the code might be copied up to a Beta branch where it is subjected to real-world use at beta sites.

Later, you can choose to merge one or more of these new branches back into the main codeline.

See Streams.

Your search for returned results