A version control system tracks the history of changes to files. It is especially useful in projects built by software development teams. As the project evolves teams can run tests, fix bugs, and contribute new code with confidence that any version can be recovered at any time. Reconstructing the edit history of various files can be useful for a variety of reasons, such as when you need to investigate when some change was introduced and why. You are already familiar with Git and GitHub but it is also important that you understand how they relate to the concept of a version control system.
Why is it important?
At Microverse you will use Git and GitHub to keep track of all the changes to your code as well as to collaborate with your peers. Understanding what Git and GitHub are will make it much easier for you to join a company and get used to their workflow faster, because almost every single company that you can join uses a version control system.
What’s the difference between Git and GitHub?
Git is an example of a distributed version control system. GitHub is a Git hosting repository that provides developers with tools to ship better code. Read the 10 minute long introduction article from the Git Handbook and make sure that you understand this difference.
GitHub flow is a detailed process for using branches with your team.
SPOILER ALERT GitHub flow is slightly different than Gitflow, even though their names look alike. If you look for additional information, please make sure that you are using the correct name – GitHub flow. And worry not! You will learn about another flow in a few more lessons!
Why is it important?
If everybody in your team uses the same flow, you collaborate more effectively because everyone knows how to track the history of changes in your shared code easily.
How to use GitHub flow
In order to learn how to use GitHub flow with your team:
- Read this GitHub Guides article that explains the concept of the GitHub flow with a nice visualization.
- Read How to use GitHub flow, which will guide you through the entire concept.
- Skim through the Multiple pull requests within one repo article. You will see a reminder about that process in your first projects.
These are all optional, but if you’re interested in exploring this topic further, here are some resources to help you. Any exploration here should be done outside program time.