Introduction to GitHub
Hey there! Hope you’re doing well.
Till now, we have covered the basics of Version Control System, what Git is, how it helps us in managing different versions of our files, using different Git commands, amending commits, the significance of creating different branches, and rolling back to a previous commit in case things go wrong.
Get the entire series here.
From this blog onwards I am starting the next most important portion of this series. We will learn to work with remotes and GitHub specifically. So let's goooo.✈
Till now we have been doing all the work locally, on our computer only. If you remember I have given a few examples before, the concept of collaborating with your fellow developers who are in different parts of the world, so how do you share code with each other? And how do devs always stay on the same versions of the file? That's where the concept of remote comes in. A remote in Git means a Git repo that is in a remote location, usually hosted on a server managed by Version Control System providers like GitHub, Gitlab, etc. You can also absolutely have your own remote server set up that hosts your git remote repo.
To simplify things, think of it in this way. A remote is a central copy of your git repo on a server hosted by GitHub (or whatever provider you use) where the code is shared with everyone and every developer accesses the updated code from there and sends their changes to that remote.
There are multiple providers of remote repos but we will mainly discuss GitHub.
GitHub
According to the information on Wikipedia, GitHub, Inc. is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. It means that GitHub provides all those support for managing code that we were doing locally till now, on our computers, and additional features which we will discuss gradually.
GitHub is the most widely used platform for remote since it has been there for long enough, it is reliable and trustworthy, and it provides a great set of additional features like GitHub Actions, creating Projects, Organizations, collaborating with any number of people from any part of the world, simple interface and the marketplace catering to most of the developer needs.
Concept of Remote
The remote repo always contains the most updated versions of the files. It is a common repo of all the developers. If you have been following this blog series since the beginning, or have idea of Git, this might make sense: You clone the repo from remote, whenever you make changes and commit, you push them to the remote, and whenever others make a change, they push to the remote which you and others pull. It's simple.👇
Anyone makes changes they push (to the remote), others will pull (from the remote).
There are also plenty of other features of the remote which I’ll discuss in further blogs as I don't want to put everything in the same place, coz things get messy. Till then, happy learning!
My name is Harsh Seksaria. I like to write about the topics simplifying them as much as possible for you to understand without unnecessary effort. Still, sometimes something may not be very clear. If you find any mistake, error, or you have a suggestion, just mail me. I’ll try to improve it asap.
My email: harsh20.freelance@gmail.com
My LinkedIn: www.linkedin.com/in/harshseksaria