Managing releases using Git tags and semantic versioning

A presentation at HighEdWeb 2022 Annual Conference in in Little Rock, AR, USA by Michael Miles

Releasing code into a production environment is a process teams want to make sure is repeatable, easy to execute and even easier to track. If a release is not easily identifiable or annotated it is hard for teams to know exactly what changes were released, how major the changes were and who made those changes. Worse yet, if a release needs to be rolled back and is not properly documented, a team needs to spend time figuring out how to revert the changes and get production back up and running. Git tags allow you to mark specific commits in your repository as releases and using semantic versioning allows you to communicate if the changes were major, minor or simple patches. In this session attendees will learn the structure of semantic versioning and how it communicates different levels of code changes in a repository - such as the difference between creating v1.0.1, v1.1.0 and v2.0.0 of your codebase. Using this understanding attendees will learn how they can mark Git tags with semantic versions, examples of simple bash scripts to generate version releases and how to use other Git commands to generate release notes. By the end of this session attendees will be able to apply this knowledge to manage code releases in their Git repositories.