{
    "content": "<h1><a href=\"..\/Version-Control-System\/\">Version-Control-System<\/a><\/h1><p>A <a href=\"..\/Version-Control-System\/\">Version-Control-System<\/a> (VCS) is a category of software tools that helps a software team manage changes to <a href=\"..\/Source-Code\/\">Source-Code<\/a> over time. It keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. This process is integral to modern <a href=\"..\/Software-Engineering\/\">Software-Engineering<\/a> and collaborative development.<\/p><h2>Centralized vs. Distributed<\/h2><p>There are two main types of version control architectures. Centralized systems, such as <a href=\"..\/Subversion\/\">Subversion<\/a> and <a href=\"..\/Perforce\/\">Perforce<\/a>, use a single central server to store all versions of a project's files. In contrast, <a href=\"..\/Distributed-Version-Control\/\">Distributed-Version-Control<\/a> systems like <a href=\"..\/Git\/\">Git<\/a> and <a href=\"..\/Mercurial\/\">Mercurial<\/a> give each developer a local copy of the entire <a href=\"..\/Repository\/\">Repository<\/a>. This architecture allows for faster <a href=\"..\/Branching\/\">Branching<\/a> and <a href=\"..\/Merging\/\">Merging<\/a> operations and enables offline work. For more technical details, refer to the <a href=\"https:\/\/git-scm.com\/doc\">Official Git Documentation<\/a> or the <a href=\"https:\/\/www.atlassian.com\/git\/tutorials\/what-is-version-control\">Atlassian VCS Guide<\/a>.<\/p><h2>Standard Operations<\/h2><p>Common tasks in a <a href=\"..\/Version-Control-System\/\">Version-Control-System<\/a> include creating a <a href=\"..\/Commit\/\">Commit<\/a> to save changes and using <a href=\"..\/Pull-Requests\/\">Pull-Requests<\/a> to facilitate <a href=\"..\/Code-Review\/\">Code-Review<\/a>. Platforms like <a href=\"..\/GitHub\/\">GitHub<\/a>, <a href=\"..\/GitLab\/\">GitLab<\/a>, and <a href=\"..\/Bitbucket\/\">Bitbucket<\/a> provide hosting for these systems, often integrating with <a href=\"..\/Continuous-Integration\/\">Continuous-Integration<\/a> pipelines to automate testing and deployment.<\/p><ul><li><a href=\"..\/DevOps\/\">DevOps<\/a><\/li><li><a href=\"..\/Software-Architecture\/\">Software-Architecture<\/a><\/li><li><a href=\"..\/Agile-Development\/\">Agile-Development<\/a><\/li><li><a href=\"..\/Programming-Languages\/\">Programming-Languages<\/a><\/li><\/ul>",
    "tags": [
        "vcs",
        "git",
        "subversion",
        "mercurial",
        "software-engineering",
        "coding",
        "devops",
        "collaboration",
        "versioning",
        "repository"
    ]
}