Editor's note

Version control is a staple of modern application development, as it enables developers, testers and project managers to view and make changes to software without risk of file loss or confusion. The vast majority of development teams use a version control system as part of their code creation workflow. In addition, version control tools enable developers to focus only on an individual feature or bug fix without disrupting work on the primary application.

This essential guide explains basic concepts of version control in software engineering. With this advice, you will learn how developers use version control to collaborate and thrive and why it is important. Follow along to conceptualize a version control strategy that works for everyone on an Agile team.

1Version control concepts in Git

2How software teams work with version control

Enterprises place more value on software development than ever before. Developers, testers and even ops professionals must quickly write, test, commit and deploy quality code. Version control tools and systems remove some of the barriers to rapid, controlled software engineering expected in Agile and DevOps environments. And developers use these tools and systems in more complex ways as their responsibilities grow. Our expert contributors describe several high-level and detailed ways to use version control in software engineering.

3Customize version control tools and the dev workflow

Distributed version control makes it easy to remotely work on software projects without the need to manage how code is stored or shared. GitHub is a well-known community for developers, but there are other proprietary collaboration tools available as well, such as GitLab, Atlassian Bitbucket and SourceForge. Dig through these version control repository hosting services, systems and tools to determine the best vendor to support software engineering workflows.