Chapter 2. An overview of Git and version control

 

Welcome back to lunch! Today you’re going to learn about high-level version control concepts and take a quick tour of Git. Some of this may be familiar, so please skim as necessary, but be sure to pay attention to the Git features section and the tour! If you’re completely new to version control, this chapter gives you enough background to follow the rest of this book. For people new to Git, the whirlwind tour gives you a fast introduction to Git’s features.

2.1. Version control concepts

Version control is an essential practice for computer programmers. It’s the act of keeping track of changes you make to a file or set of files. By extension, version control is an essential practice for organizations: it’s the act of keeping track of versions of software.

For programmers, developing software isn’t easy; you sometimes have to try multiple things before you come up with an acceptable solution. Versions are these multiple things. Keeping track of what you’ve tried is a good discipline that version control helps with (not only that, but it preserves working copies in case something goes awry in the current version)!

For organizations, maintaining software that’s out in the field is made easier by knowing its version. If a bug is found, the organization needs to know which version contains that bug in order to properly fix it.

2.1.1. Version control for the software developer

2.2. Git’s key features

2.3. A quick tour of Git

2.4. Version control terminology