Day 1 of #100daysofcode: Git-Github and my first open source contribution

Today I started studying my Front End Web Developer course from simplilearn. You can find it free on youtube :

The first topic is git and github.

Git is an open source, distributed version control system.

Basically, what it does, it keeps a track of every change in every file. Distributed means, every repository is copied to every contributor, so if a central server crashes, you don't lose your work.

With big projects, many people making changes on the same code repository, it is practically impossible to keep track of things without some system like git.

Now, git is open source software, so anyone can setup a git server on his own machine. But github is the most common and free repository server for open source projects. Some of the largest projects also use github.

In around 2 hours, the simplilearn course covers all the basics: How to start a repository, add files to repository, commit changes, fork-clone from online repositories, push to or pull from online repositories, even how to solve merge conflicts.

My main criticism about the simplilearn section about the git-github that, it is not a single linear lesson thought by one person, but many smaller lessons from many different teachers. So that makes about half the lesson redundant and repetitive.

But overall, it did cover all the things needed to know about git and github to enable me to work with a team.

So it was a good learning experience after all.

I then searched for some online open source repositories that I can make some changes to. Just to apply my newly learned git-github skills.

After a bit of googling, I have found this blog post from Marko Denic:

Make your first open source contribution

So basically he started a repository simply to allow everyone make a contribution to it. And has written a blog post outlining step-by-step how to use the basic github comments to make a contribution to it.

That was just what I wanted.

And then I noticed he also has a "Awesome Tech Blogs" open source repository. Which is also an open source project anyone can contribute to, as long as they have a tech blog. I think anyone with a hashnode blog qualifies.

Awesome tech blogs repo

The readme file has explanations about how to edit the data.js file to add your own tech blog to it. So, combined with what I learned from the course and Marko's blog post, I added my hashnode blog and twitter username to the file, and submitted a pull request.

Hopefully, when the request is approved, by blog will be among the blogs listed at Awesome tech blogs web site .

Cool beans. I feel like I made good progress for one day today.

I think for developers, git and github is essential. Both as a version control tool, and an online portfolio.

I like that this course covers git-github from the start. So that I can add my HTML-CSS-Javascript samples to my repositories later too. Even if they are simple things like "Hello World!".

Hopefully, over time, my portfolio samples will get more advanced, and include things that are more useful in real life.