Git (version control) (source code)

= Git
{disambiguate=version control}
{c}

<Git (version control)> is a distributed <version control> system whose history records <version-control snapshots> linked by <version-control commits>. A local repository can contain history and support comparisons and new <version-control commits> without a connection to a central server. <Version-control branches> name movable tips of that history.<Pro Git by Scott Chacon and Ben Straub>[§1.3, Snapshots, Not Differences and Nearly Every Operation Is Local]{ref}

Suppose two collaborators start at the same <version-control commit> and each records a different change. Their new <version-control commits> share a parent in the <commit graph>. Exchanging repository objects makes both histories available; <version-control merging> can then combine their work, possibly exposing a <merge conflict>. The stored <version-control snapshot> identifies recorded <file> contents, while external datasets and installed <software dependencies> still need their own reproducibility record.