Branch

Unit of the organization in a repository, basically a pointer to a commit.

Branches are indicated in brackets in this book: [branch]

Master branch

The branch present in any new repository is called master.

[master] should not contain work in progress code. It should be used for storing the finished version of the code for a given application/solution version.

Additional branches

Any new modifications - features, fixes, refactoring, documentation adjustments or tests - should be developed in separate branches, before promoting them to [master].

Unlike [master], it is perfectly fine if the branch contains work in progress code.