Git is famously known for its lightweight branches. They are highly performant both in terms of creation and merging. They are also relatively simple to use as a developer. Anyone who has been in a seemingly unresolvable merge conflict will contest this statement.
In short, branches are how we manage our source code life cycle, how we manage different versions of our code base, and how we isolate our changesets to facilitate atomic changes and collaboration.
Branches can seem a bit complex, but I will do my best to give you the right vocabulary and mental model to be able to wield branches with ease.
In this ...