Introduction

Completed

Version control and source control are essential practices in DevOps, particularly in the development phase, enabling continuous integration and infrastructure as code.

Imagine that you work for a software development company in the retail industry that is planning to migrate an online store from an old app to a new app. The application is called eShopOnWeb with the necessary layered application architecture. However, the development team and the operations team have different processes for managing the development of the new app and this conflict leads to delays in releasing new features and increases the risk of errors in production. Your company decides to implement a DevOps approach, including the use of Git and GitHub, to facilitate software lifecycle management.

Screenshot of the code flow and version control.

In this module, learn about the principles and benefits of version and source control, the differences between centralized and distributed version control systems, Git terminology and features for tracking changes, reviewing history, creating branches, merging branches, collaborating with multiple developers, and automating processes like continuous integration and deployment. Additionally, you'll also explore GitHub for hosting Git repositories and streamlining updates to project repositories, and the importance of integrating shift-left testing and shift-left security in the software lifecycle.

By the end of this module, you'll have a clear understanding of version control and source control principles, the usage of Git and GitHub for managing software development projects, the importance of continuous integration, and the shift-left approach for testing and security in DevOps.