A Guide to Git & GitHub

In this course we will be learning about version control especially Git and GitHub which provides hosting for Git version control.

What is version control?

A question might come to your mind: What is version control and why should you learn version control?

Version control, also known with different names like revision control, source control or source code manager(SCM). is a system that manages changes made into source code of a software. In another work it's a system that helps you control the different versions of source code.

When we say Version Control System(VCS) or Source code manager(SCM) manages or controls source code what does it mean? What are its responsibilities?

The VCS/SCM are responsible or helps you to,

  • Keep track of every modification to the code
  • You can review changes made over time
  • Who and when wrote a particular feature, who and when introduced an issue
  • See who last modified something that might be causing a problem
  • If a mistake is made, you can revert files back to a previous state or even revert the entire project back to a previous state
  • and many more...

The software engineering team benefits a lot by using VSC/SCM
  • The team can manage changes to source code over time
  • Software teams work faster and smarter
  • VSC helps DevOps teams to reduce development time and increase successful deployments
  • Helps to review code written by team members
  • Track and Change history of every file 
  • and many more...

There are a number of version control systems available. Out of all available systems the three most popular VCS are:

  1. Git
  2. Subversion
  3. Mercurial

The version control systems can be categorised into two main types based on its approach.

  • Centralised system
  • Distributed system

Centralised system

In the centralised system there is one computer that hosts the source code. Every interaction must go through this central computer.

Distributed system

In the distributed system there is no central repository. Each developer has an entire copy of the source code.

In this course we will be using Git version control system, which is a distributed version control system.
Next

Unlock Your Potential with Engineeous

Get Started