DEV Community

Issah Mudasir
Issah Mudasir

Posted on • Updated on


Understanding Git, Github and Contributing to open Source Projects

A beginners point of view...

Initially I found it difficult learning git. The terms where a bit strange and confusing. Most of the tutorials I watched used the CLI (Command Line) to teach. I wondered how on earth will people be using terminal to do stuffs instead of a GUI. This was one of the reasons that made my journey to learning git quite rough. After several months of figuring out what exactly git was all about and what the hell will I want to use it as a beginner developer. I finally figured it out and will love to share my understanding and discovery with everyone out there.

What is Git / Github.

Git/Github is a source control Management System used to manage and organize the entire development process giving you the opportunity to undo and redo changes that is made to your code. Consider Git/Gitbub as a similar process to the auto save or redo and undo feature in the MS word software or Google Document. You will realize that as you type, the software is keeping a copy of your changes at every point in time. Thus making it possible for you to revert back changes made.

Yes consider github as an advance system that provide you similar and more features. Let's say you playing a board game and you decide to try some risky moves but yet wouldn't want to loose track of your current board setting. You could simply take a snapshot of your board game setting so that after you try your risky move you can reverse back to previous state , without issues. Now , this and more is exactly what github helps you with.

my write up is broken in two parts. I would talk about github and git in this first part then I will talk about the usage, commands, and how to make your first commit in the next part.

Git Or Github Whats the difference ?

The difference between git and github is that, git is a local version of github working on your PC managing your project folders whilst github is the actual online repository where you can push your projects from your computer to a remote server using the git bash software on your PC. I'm sure you can see the difference between the two by now.

Why Should you learn the Git / Github System

Whenever I am working on a software project and I get stuck at a point and want to share my work with a colleague to help out. All I will do is to zip the folder and send it over to him/her then he intends send it back to me after updates. This was a hectic process and I'm sure a lot of people have gone through this circumstance before. when I came across git/github I came to realise that I could share my work remotely and have my college clone a copy of my files and then push his changes back to my online folder (Repository). Now with github I can pull this changes , run it and decide whether I'll want to merge it to my original copy or not. As simply as that.

I believe it is on The bases of the scenario stated above and more that github was created , Making it possible for two or more developers to work on a single project to achieve a great outcome.

Thus, we can now proceed to learn how to start using git and contributing to other people's project. This will be captured in part two of this article to be realized soon.

In the mean time you can share your understanding of github and if possible what motivated you to learn it.


Top comments (0)

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.