DEV Community

Cover image for A Beginner’s Introduction to GitHub
Muthu Annamalai Venkatachalam
Muthu Annamalai Venkatachalam

Posted on • Originally published at muthuannamalai.tech

A Beginner’s Introduction to GitHub

Developers can use GitHub to store and manage their codes, as well as track and control changes to the codes they create. In order to understand what GitHub is, you need to know two related principles:

  • Version control
  • Git

In this article, I'll first explain those two principles. Without further ado let us get into the article

What is a Version Control System

A version control system allows you to record and track changes to files and code so you can refer back to previous versions. It's a programming version of Google Docs, where you can collaborate with others on the code and see the version history.

Version control enables teams to streamline their development process, which in turn improves their efficiency.

Benefits of Version Control System

Track the changes made to the code:

Version control denotes the change over time to files or collections of files so that different versions can be restored at a later time. It enables you to revert selected files to a previous state, or the entire project to a previous state, monitor changes over time, assess who updated something recently and who corrected the problem, and add metadata that explains why the change was made and by whom it was made.

Branches:

Take the example of editing the footer and header of your website without a version control system. You have finished the header, but not the footer, which means the project isn't ready for public viewing. If you are using a version control system, you can create branches for each sub-aspect of the project you work on, and merge them into the main source code after they are completed.

Revert changes that introduce bugs:

Bugs are an inevitable part of life. The existence of bugs can indeed be found in small projects. The identification and resolution of bugs result in the release of patch updates. It is very difficult and time-consuming to manage these patches without a version control system.

Teamwork:

It is difficult to work on the same source code at the same time without a version control system. When you use something like Git, you can more easily merge changes, which makes it much easier to collaborate on projects.

What is Git

git.jpeg

Git is a free and open-source distributed version control system. Git was created in 2005 by Linus Torvalds, the creator of the Linux operating system kernel.

Specifically, Git is a distributed version control system. This means that a developer can view the entire codebase, history, and branches directly from his or her computer.

Over 87% of developers use Git according to a Stack Overflow survey.

Features Of Git:

Fully Distributed VCS:

A distributed VCS lets each participating node have a full, complete copy of the project, along with detailed revision history. By using central remote repositories, you can collaborate even if you do not have a network connection. Due to its distributed nature, git offers you multiple backup options and the flexibility of executing workflows locally.

Lightweight:

Cloned data is stored by Git on the local repository after it has been copied from the central repository. A large amount of data may be stored in a central repository if hundreds of users are working on the same project. It's understandable to be concerned that cloning so much data into local machines might cause a system failure, but Git has already addressed this issue. As a result of lossless compression, Git compresses the data and stores it in a local repository taking up very little space. When this data is needed, it uses the reverse technique and saves a lot of space.

Data Integrity And Security:

Git stores files and snapshots using cryptographic algorithms. When a file is stored, its checksum is determined and when retrieved, it is verified. The associated commit id changes when you make changes to a file, date, author information, commit message, or anything else. By using the same commit ID, you ensure that your project is exactly the same as when it was committed, and that its history has not been altered.

Supports Non-linear Development:

By using Git, you can switch between multiple linear workflows seamlessly and quickly. Developers and managers can work asynchronously, generating frequent feedback from customers and faster updates as a result.

Open-Source:

With Git, you can handle everything from small to very large projects with efficiency and speed. Because of its ability to be modified according to the needs of the user, it is called open-source. Unlike some version control systems that offer paid features like the repository, privacy of the codes, accuracy, etc. Git provides these functionalities for free and even better than other open-source software.

What is Github?

github-cover.jpg

Developers can communicate and manage their projects with the rest of the globe using the GitHub platform, which is built on top of Git. GitHub allows developers to contribute to open-source projects. This is similar to social media for developers, where you can interact with like-minded developers and work on meaningful projects together.

Git Vs GitHub

What’s the difference between Git and GitHub then?

It's like asking for Email vs. Gmail. Git is a version control system, and GitHub helps manage Git repositories by hosting them in the cloud.

Git vs Github.png

Conclusion:

  • A version control system plays an integral role in a software development team's work processes and in project development and management overall.

  • The distributed version control system, Git, is used by team members at all levels in the organization, from customer service to developers to project managers, all of whom view the system differently.

Thank you for reading the article until this point - I hope you found it interesting and learned something. I would appreciate it if you could kindly take the time to add your thoughts to the comments below

You can now extend your support by buying me a Coffee.😊👇

Buy Me A Coffee

Thanks for Reading 😊

Top comments (1)

Collapse
 
mrakcw profile image
MrakCw Dev

👌