/sɔːrs kənˈtroʊl/

noun — “the memory keeper that remembers every little thing your code ever did, even the embarrassing stuff.”

Source Control, also known as Version Control, is the practice of tracking and managing changes to code, configuration files, or documents over time. It allows multiple developers to work on the same project simultaneously without overwriting each other’s work, provides a history of modifications, and facilitates collaboration and accountability. Source control is tightly linked with Software Repository, CI/CD, and Release Management.

Modern source control systems, like Git, Mercurial, or Subversion, allow you to create branches, merge changes, and revert to previous states. This makes experimenting safe: you can try new features, refactor code, or fix bugs without fear of breaking the main project. Source control also integrates with Code Review processes, enabling teams to discuss changes before they are merged into production.

In practice, source control workflows are often combined with CI/CD pipelines. For example, when a branch is merged into the main branch, a CI/CD system can automatically build, test, and deploy the changes. This ensures consistency, prevents regressions, and makes rollback straightforward if a release fails.

Real-world examples:

// Cloning a Git repository
git clone <https://github.com/example/project.git>

// Creating a new branch
git checkout -b feature/new-login

// Adding and committing changes
git add <file>
git commit -m "Implement new login feature"

// Merging a branch into main
git checkout main
git merge feature/new-login

// Viewing history
git log --oneline --graph --all

Source Control is like having a time machine for your code: you can travel back to any moment, fix mistakes, or admire past brilliance without breaking the present.

See Software Repository, CI/CD, Release Management, Code Review, Versioning.