I'm new to version control (currently using SVN), but I don't understand how this helps developers. What does version control do that makes it useful in a development environment?
What is the value of using version control?
version control
VisualSVN and TortoiseSVN are just UI clients for SVN server. SVN server is source / version control system. Version control system is key asset for any real development because it stores versions of you your source codes. When using version control system you keep only local copy of source codes. The main copy is stored on version control system and you commits changes to the system.SVN allows:easy sharing source codes among whole team through central repositorybackuping your source codes and other resource files related to the projectkeeping history how source codes changedyou can revert to any version kept in the historyyou can compare changes between versionsyou can see who made changesyou can lock the file for exclusive access so nobody else can work on the fileyou can see who is working on any source code file or who locked the fileyou can merge changes in case of parallel work on the same fileyou can see comments associated with committed changeswith additional tools you can associate committed changes with tasksyou can label / tag version to easy find for example production releasesyou can branch source code - create parallel versions where one branch can be considered as the main one and other can be used to test some special feature or to continue development of the new product version while fixes to the current production version are fixed in the main branchyou can merge changes between branchesetc.VisualSVN is extension to Visual Studio which enables you using SVN repository directly from Visual Studio UI. TortoiseSVN is extension to Windows Explorer which enables you using SVN repository directly as you browse folders and files.