A source control management system (SCM) is software that provides coordination and services between members of a software development team. At the most basic level, it provides file management and version control so that team members don’t write over each other’s changes, and only the newest versions of files are identified for use in the workspace.
SCMs also give developers the ability to work concurrently on files (in branches that may or may not converge), to merge changes with other developers’ changes, to track and audit changes that were requested and made, to track bug-fix status and to perform releases. In some cases, SCMs may include other components to assist in managing a software process throughout the entire lifecycle.
Git is the new fast-rising star of version control systems. Initially developed by Linux kernel creator Linus Torvalds. Git offers a much different type of version control in that it’s a distributed version control system. With a distributed version control system, there isn’t one centralized code base to pull the code from. Different branches hold different parts of the code. Other version control systems, such as SVN and CVS, use centralized version control, meaning that only one master copy of the software is used.
Any programming language experience.