Chapter 67. Source Code Management for Software Delivery

Tiffany Jachja

Source code management (SCM), also known as version control, allows engineers to manage their software code. SCM provides benefits for developers as they work on different parts of a codebase, collaborate, and deliver new software releases. Done right, SCM enables development teams to build applications while avoiding irreversible or breaking code changes.

Understanding Version Control

SCM tools provide version control for reverting, tracking, and correcting software code. Think of version control as a timeline for your code revisions. A branch represents this timeline. In the most basic of version control workflows, you have the main branch. This main branch is often called a trunk.

You can progress within the timeline by making code commits. Code commits represent points within the timeline. Each point contains a copy of the current source code. A code push uploads these changes to a repository. The repository, or repo, holds your version-controlled code as a project.

A key concept is to introduce branches that spawn from points in time within the main branch. It is common to have a branch that contains feature development work.

For example, imagine a developer is working on a development feature for version 1.0 of their product. They want to develop and make changes to the codebase ...

Get 97 Things Every Cloud Engineer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.