Introduction
So far, we have discussed what version control systems are so we are quite familiar with them. Let’s now take a quick example to demonstrate where they are useful. Now have you ever opened an app on your phone e.g Whatsapp and recieved a prompt to update to a new version. This prompt most likely directs you towards an app store or play store where you then download the latest version. Now as you download the new version, you may notice some new features like a new layout, a new button or a new piece of functionality. In software and web development, developers use version control to track the differences between various versions and a popular method of tracking versions is the use of version control technologies like Git and GitHub. In this article, we shall discuss the following questions:
- What is Git and GitHub?
- What are the differences between Git and GitHub? and
- How do developers make use of them?
What is Git and GitHub?
Git
Git is a version control system designed to help users keep track of any changes to files within their projects. It was designed to address the challenges that its creator, Linus Torvalds was having managing the challenges of the Linux kernel i.e the Operating System for Linux. Now what was the challenge? Linux has thousands of contributors who commit changes and updates daily. Git was designed to help with the challenge of tracking all these changes and updates.
Git was also designed to tackle some of the short comings of other version control systems. Here are the benefits that Git offers over similar systems. They include:
- Better speed and performance.
- Reliability.
- Free and Open-Source access and
- Accessible syntax.
Another important thing to note about Git is that it is used predominantly via the command line and developers tend to find the Git command and syntax very easy to learn.
GitHub
The other service commonly used by developers is GitHub. GitHub is a cloud based hosting service that lets you manage Git repositories from a user interface. A Git repository is used to track all changes to files in a specific folder and keep a history of all those changes. It incorporates Git version control system and extends this by providing its own features on top. Some of these features include:
- Access Control.
- Pull Requests and
- Automation.
These features are split out into different pricing models to suit different size teams and organizations. GitHub is essentially very popular among Web Developers. Its more like a social network for them meaning:
- Projects can be private or public.
- Users on GitHub have their own profile so other users can follow.
- Public projects can accept code contributions from anyone across the globe and
- It includes multiple features outside of its core development tools like documentation, ticketing and project features.
Conclusion
This article has covered an important aspect in the world of version control. Git and GitHub is a popular method of keeping track of any change or changes you might make to a file or project in a developers world and so therefore, as an aspiring developer, you will need to get familiar with it and understand the concepts of each. In fact, you will need to have what we call a GitHub account. How can you do this? This shall be covered in the next article. Stay Tuned!