And if you are a software engineer, you need to work on a single project with multiple team members, may be they are in different locations, may be in different countries, on different continents, you have to work with each other. You will be working on the same project, the same file some times, and that time also managing with different versions of documents will become a big problem, because most of the energy, time and effort will be wasted in managing the documents and comparing them and merging them together to form the final document.
To tackle these problems, Version Control Systems come to rescue.
Version Control Systems are very helpful in tracking the changes that you make to a document, a program or having the changes and files kept in track kept in track between the team members working for a same goal, for the same project. The time, the effort, the energy you spent to have the documents aligned or you want to revert back to the document or you want to collaborate between the team members working on the same project and same document will be very less or even zero. That is you don't have to spend any time and effort for managing the documents between the teams and merging them.
So its very important and very useful to have your project or files kept within a Version Control System, so that you can revert back to any version that you saved before any time. Or even if you revert back, you can go beyond that point and get the latest version of the repository.
In software companies that are dealing with medium scale or large scale projects,the team will be having the project files inside a Version Control System and they will working within the Version Control System. The most popular of the Version Control Systems used around the world is Git.
So we will be dealing with Git's different commands, different functionalities of Git and also GitHub which is most popular hosted git service, which is being used by companies all around the world.