A source code management system is a software utility which helps in managing different code versions of a software, provides file management services and helps in tracking changes across the code base enabling collaboration among software developers.
An SCM helps teams audit changes and also makes sure that developers don’t overwrite the changes written by fellow developers. Common features of SCM are merging, file locking, atomic operations, tags/labels etc.
Some of examples of SCMs are proprietary software like IBM’s ClearCase, Perforce and subversion and Git in open source SCMs.
Git is the most popular Version control system which was developed by Linus Trovalds in the year 2005. It is a form of modern distributed version control system and is supported across operating systems. Being a dsitrbuted system, it has very high performance as compared to legacy source code management systems like subversion or CVS.
Source Code Management Systems are the backbone of any software organisation and it makes the engineering teams highly productive through well defined workflows.