The code for a project, app or software component is typically organized in a folder structure or 'file tree'.
Software developers working in teams are continually writing new source code and changing existing source code. Version control protects source code from both catastrophe and the casual degradation of human error and unintended consequences. For most software teams, the source code is a repository of the invaluable knowledge and understanding about the problem domain that the developers have collected and refined through careful effort. For almost all software projects, the source code is like the crown jewels - a precious asset whose value must be protected.