Version-control branch (source code)

= Version-control branch

A <version-control branch> names a line of development that can progress alongside another. In <Git (version control)>, a <version-control branch>[branch] is a movable reference to a <version-control commit>[commit]; it does not require an independent copy of every <file>. New <version-control commits>[commits] normally advance the currently checked-out <version-control branch>[branch] while older <version-control commits>[commits] remain part of its ancestry.<git-branch in the Git documentation>[Description]{ref}

For example, two <version-control branch>[branch] names can initially reference the same <version-control commit>[commit]. Committing a change on one moves that reference and leaves the other at its old <version-control commit>[commit]. Their shared history is represented once in the <version-control commit>[commit] graph. Deleting a <version-control branch>[branch] name therefore removes a reference rather than automatically erasing every <version-control commit>[commit] it once named; reachability from other references and later storage management determine which objects remain available.