Source Code Management
SCM is a pretty basic concept and should be considered, of course, mandatory in any software project (including very small ones). Nowadays, SCM is synonymous with Git (more on that soon); however, many alternatives have been used over the years, including Concurrent Versions System (CVS) and Apache Subversion (SVN).
The basic function of SCM is backing up, sharing, and versioning source code. However, there are many nuances to these features. So, let's have a closer look at Git.
Introducing Git
Git was created by Linus Torvalds, the creator of the Linux OS, as a tool for supporting the development of the OS itself.
Apart from the history of the project, Git has many interesting characteristics that make it a de facto standard:
- It is heavily decentralized. With Git, every developer can work with a local repository, benefitting the versioning of files, branching, and more features, even in the absence of a remote server (such as in a disconnected...