What is GitHub?



At college integral, we wish to provide an understanding of important software, technologies, and anything related to CSE, and thus following on it we have brought this post on GitHub.

GitHub is a hosting/storage provider on the Internet for storing files, repositories, software development, and version control.





github.com is the official website.

Check out these official websites for reference and interactive understanding:

https://git-scm.com/
https://github.com/

You can download git from here:

https://git-scm.com/download/win

All right, now that we have got the definitions and the links out of the way, we can start understanding more about GitHub.


What is GitHub?

GitHub is a cloud hosting/storage provider on the Internet for storing files, repositories, software development, and version control using Git and other services.

It makes it a lot easier for people and teams of these people to work on maintaining version control in their projects and easing collaboration between the team.

Why is GitHub so important and what does it do?

GitHub is based on many goals, some of which are speed, data integrity, and support for distributed, non-linear workflows.

GitHub’s GUI is user-friendly and thus is a good practice for novice coders as they can take advantage of Git. Without this, using Git will be a hassle as it will require a bit more tech-savvy knowledge and use of the command-line interface (CLI).

It offers the distributed version control (more about this below) and source code management and more functionality such as Git, plus its features.
To understand what is GitHub, what does it do, its importance, and why it is so widely known, you need to know & understand these two connected principles:

1.) Version control
2.) Git


What is Git & why it is so important?

Git is an open-source system that handles version control for GitHub, it was created by Linus Torvalds in 2005.

It uses Git which is software for tracking said changes in files, these files can be of any kind usually used for coordinating work among programmers collaboratively developing source code during software development.
All this above can be understood in easy English as having the entire codebase and history available on every developer’s computer that is working or has access to the project.

Given below is a typical git widow when using CLI and VIM.



What is version control in regards to GitHub?

Version control is a concept in which we have different "versions" of code and having these different versions helps developers track and manage changes made in the project and as any project grows so will the essentiality of version control.

Let's take any software as an example that can be considered a pretty humongous tech project. If a core developer wanted to work on one specific part, it wouldn’t be safe or efficient to have them directly edit the “official source code".

Now, what do I mean by "official source code"?

Official source code has two important distinctions "official" & "source code".
Source code is the original code of the tech project or of the software or any kind of code that is being worked upon or being used or belongs to any software in use.
It is the basis of that program.

Now coming back on the topic, version control lets developers handle their work safely, and efficiently while minimizing crashes through branching and merging.

Branching and Repository!!! : With branching, a developer duplicates part of the source code (It is called a repository).




These said developers can then safely make changes to the part of the code that they are working on without affecting the rest of the project as it will be a hassle and huge time waste if people had to specifically ensure the integrity of the code.

Then, once the developer gets his or her part of the code working and functioning properly, efficiently and with the desired results, he/she can merge that code back into the main source code to make it official.

All of these changes are then tracked, through git or on GitHub using concepts and commands like commit, and can be regressed if such a need arises.

We have learned about what is git, what is GitHub and why it is so important, what does it do and questions about such a manner, we shall discuss its working in later posts, and till then you can check out our blog https://collegeintegral.blogspot.com/ for posts like this.

Post a Comment

Previous Post Next Post