Table of Contents
If you are a programmer, you must have heard about Git and GitHub. This article will not contain any code, here you learn about the fundamentals of theory and concepts which help you in getting started with Git. This is the first article of a series on Git and GitHub.
What is Version Control System and its Types ?
VCS or version control is a management system that tracks changes in a computer file. It is a software tools that help software teams manage changes to source code over time. As development environments have accelerated, version control systems help software teams work faster and smarter.
So, Suppose you and your friend shared working on documents ,what happens if and your friend making changes to the file at the same time? How will you keep track of the change and identify who made it? Or if you work in a huge group; how will you manage?
Here you can do track of your work with the help of VCS. It allow multiple developers, designers, and team members to work together on the same project.
Consider another scenario, If you are working on a project and modify or update your code on a regular basis and on one specific day, you wish to rollback and revert files back to a previous state or revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more, a version control system can do this for you.
Types of Version control
There are three major types of VCS.
- Local Version Control Systems
- Centralized Version Control Systems
- Distributed Version Control Systems
What is Git?
There are various Version control system in the market but Git is one of the most popular amongst them. As of January 2020, GitHub reports having over 40 million users and more than 190 million repositories (including at least 28 million public repositories).
- Git was originally developed in 2005 by the creator of Linux.
- Git is free and open-source software so, anyone can use it.
You cannot remember every change that you make, quite obvious, right? But what you can do is remember a simple command.
- Honestly, it has made our life easier as It keeps track of the entire history of things that you are working on and allows us to revert back to a previous version no matter how many times you have made changes to your file.
- It has simplified the process of working with other people and encourages collaboration among developers and makes working in a team really easy.
- Git widely used by various organizations, businesses, and even startups to manage their code, it lets you watch the entire timeline. We will study this in detail when we will learn how to set up, install and use GitHub in the next part of this series.
GitHub is one of the most advanced and developed hosting platforms for version control and collaboration. It is a web-based service for version control using Git has all the benefits of git and even more.
Are Git and GitHub the same?
No, Git and GitHub are not the same.
Git is a version control system that lets you manage and keep track of your source code and history whereas GitHub is a cloud-based hosting service that lets you manage git repositories.
Benefits of Using Git
- History Tracking: Git allows you to track every change made in your project, including: who made the change and when it was made.
- Collaboration: Multiple developers can be able work on the same project at the same time, and Git efficiently manages the merging of changes in code.
- Branching and Merging: Git enables developers to create branches to work on new features or bug fixes and later merge them back into the main codebase.
- Offline Work: Git works offline, which means you can commit changes and work on your project even without an internet connection.
Why use Git?
Here are some of the reasons why you might want to use Git:
- Track changes to your code
- Collaborate on projects with others
- Maintain an organized code history
- Easily revert to previous versions when needed
- Release your code efficiently and manage versions
- Enhance productivity and code integrity in software development.
Do you have a GitHub account? Share the link below. If not got a create one for yourself. Check out my GitHub Repo and drop a star if you find it useful!
If this is something that interests you, please share the article with your friends and connections.