Source Code Management
Source Code Management (SCM) is a critical component in the day to day workflow of the delivery team. From tracking changes to reviewing code, SCM helps teams reduce friction and increase flow to allow for parallel development and simple code reviews. Good SCM tools and practices protect the most important asset to the team - the code base.
Distributed version control¶
Distributed version control systems (DVCS) use a peer-to-peer approach to version control, as opposed to the client–server approach of centralized systems. Distributed revision control synchronizes repositories by transferring patches from peer to peer. There is no single central version of the codebase; instead, each user has a working copy and the full change history. (source)
Distributed version control is when the complete codebase, including its full history, is mirrored on every developer's local.
Using a tool that provides distributed version control enables each developer to have copies of the repository and constantly sync updates with one another using a Git server to collaborate. SCM tools enable delivery teams to move much quicker and develop features in smaller batches and reduce friction. By working in isolated branches, engineers can develop independently and merge more frequently.