Skip to main content

Source Control

โ“What is it

  • Source control, also known as version control or source code management (SCM), refers to the practice of tracking and managing changes to codebase over time. It allows multiple developers to work on a project simultaneously, helps in tracking changes, and provides mechanisms to merge changes and resolve conflicts. Source control is a foundational practice in modern software development.
  • Attributes associated to this practice include:
    • History & Accountability: Every change made to the codebase is tracked, providing an audit trail.
    • Collaboration: Multiple developers can work on the same project without interfering with each other's work.
    • Branching: Developers can create branches, enabling work on separate features or experiments
    • Merging: Once work on a branch is complete, it can be merged back into the main codebase.
    • Rollback: If a bug is discovered, developers can easily revert to a previous state of the code, ensuring stability.
    • Backup & Security: Source control systems serve as a backup, storing all versions of the code.
    • Distribution: Distributed version control systems, like Git, allow every developer to have a full copy of the entire codebase.
    • Integration: Modern source control tools integrate well with other development tools

๐Ÿ”‘ Key Benefits / Why is this important

    • Covered above within attributes

    ๐Ÿ›  Techniques supporting this practice