A branch is a named sequence of version-control commits representing an independent work package, such as a feature or bug fix. Teams commonly keep the mainline in main and develop changes on separate branches. section 10.1
A distributed version-control workflow uses branches to:
- Branch from a mainline version. section 10.1
- Record and share changes through a sequence of commits. section 10.1
- Submit completed work for review before merging it into the mainline. section 10.1
Branch-based work supports concurrent and asynchronous collaboration, but merging becomes difficult when the mainline changes independently. Unresolved concurrent edits produce merge conflicts that developers must resolve manually. section 10.1
Figure 10.2 The main concepts of a DVCS, and a typical interaction
Use the diagram to trace branches, commits, reviews, and merges through a typical distributed version-control interaction. section 10.1





