Knowledge Graph — Coursera Notes › Academic disciplines › Information Technology / Computer Science › Software Development
Version Control
concept · part of Software Development
Version control is a system that records changes to files over time, enabling developers to track modifications, revert to previous states, and collaborate efficiently. It works by maintaining a history of commits—snapshots of changes—often managed through a repository. This matters because it prevents data loss, supports parallel development via branching, and resolves conflicts when merging changes. Version control is used in software development to manage source code, but also in documentation, configuration files, and any collaborative project. As a core practice under Software Development, it underpins tools like Git and concepts like branching strategies, merge conflicts, and commits, which are its direct children and related concepts.
Git is a distributed version control system, and this lesson covers local commits, remote backups via GitHub, and branching for safe development.
Version control also applies to machine learning models, where it helps track model versions, roll back to previous iterations, and compare performance. Tools like Azure Machine Learning and MLflow offer version control features specifically for models.
Inside Version Control (11)
- Git — A distributed version control system that tracks changes in source code during software development.
- Repository Management — Repository Management refers to the practices and tools used to organize, maintain, and control access to version-controlled repositories, typically within a software development or academic context.
- Repository Hosting — Repository Hosting is a service under Version Control that provides remote storage and management for code repositories.
- Bitbucket — Bitbucket is a web-based hosting platform for Git repositories, primarily used for version control and collaborative software development.
- Branching Strategy — A set of rules and conventions for creating and managing branches in a version control system.
- Code versioning — Versioning code to ensure consistent outcomes across experiments.
- Commit — A snapshot of changes made to files in a repository at a specific point in time.
- Dataset/result versioning — Tracking datasets, code, and parameters per experiment for reproducibility and maintaining a history of which data produced which model.
- GitLab — Hosting platform for Git repositories with integrated CI/CD and DevOps features.
- Merge Conflict — A situation that occurs when two branches have made changes to the same part of a file and Git cannot automatically resolve the differences.
- Version control benefits for collaboration — Version control systems like Git enable multiple developers to work on the same project without overwriting each other's changes.
Connections
- Related to Git
- Related to Branching Strategy
- Related to Merge Conflict
- Related to Commit
This is the text view of an interactive 3D knowledge graph — open this page with JavaScript enabled to explore it visually.