Source Control Management
lastmod 2025-12-12created 2015-04-0411 edits
Version control (also revision control), source control, or source code management (SCM) refers to managing multiple versions of the same information. In engineering and software development, it is used to manage digital documents such as source code being developed by a team or design drawings such as blueprints. Changes to such documents are distinguished by assigning a "version" made up of numbers or letters (also called a "revision number" or "revision level"). Through "versions", changes and the people who made them can be tracked over time. In a simple version control scheme, the first written code is given version number 1. When a change is made, the version number is incremented to 2. In this way, the version number is incremented by 1 each time a subsequent change occurs.
In software engineering, managing the history of ordinary software source code alone is mostly defined as version control. It can be seen that, as academic interest moved from industrial engineering and earlier production-based manufacturing engineering toward software, concepts used in production engineering were brought over, and with them came the concepts of version control (Software Version Manamgement) and configuration management (Software Configuration Management).
Categories
- Concurrent Versions System (CVS)
- Subversion (SVN)
- Git
- Mercurial
- Perforce Helix Core
- Plastic SCM (Unity Version Control)
Command comparison
Compares the usage (commands) of each SCM.
| CVS | SVN | GIT | Description |
| svn checkout | git clone | Downloads from a remote server. | |
| svnadmin create | git init | Creates a new local repository. |
Monorepo
In version control systems, a monorepo is a software development strategy where code for many projects is stored in the same repository. As of 2017, this software engineering practice was over two decades old and is also called a 'shared codebase'.
See the page for details.
See also
Favorite site
- Wikipedia (en) Version control
- Wikipedia (en) description of SCM
- Wikipedia (en) comparison of SCM software
References
-
hyperpolyglot.org.zip ↩