GitHub for beginners

A help guide for all the newbies who have a desire to explore GitHub and contribute to open source without knowing Git.

widget

First of all, what is GitHub?

GitHub is basically a huge repository collection that has a Web-based graphical interface. For beginners, who are still confused about what a repository means, you can think of it as a large coding community that has numerous contributors all over the world. These contributors work together on various projects on this platform known as GitHub.

Why use GitHub?

Apart from coding enthusiasts, I think that every individual who has a knack for computers, IT, software projects, or other such things must know about GitHub.

If you want to work as a team to develop a simple web page, you’ll need several developers who have expertise in different fields such as HTML, CSS, Javascript, Bootstrap, Docker, etc. GitHub enables the team to work together simultaneously and build-up one project easily in less time and hustle. Developers can contribute from any part of the world just by logging in.

Apart from exploring the several open-source projects uploaded there, you can also do various things as a beginner. Assuming, you have already signed up for GitHub, some of these things are listed below along with image references.

Exploring GitHub

You can explore repositories using the search option. You can also apply appropriate filters like update time, programming language, stars, most forks, etc.

'face mask detection' was searched in the search panel
'face mask detection' was searched in the search panel

If you like a project, you can either give your individual contributions or you can download it on your system. To download the repository, click on the Clone or Download option and choose Download zip. The repository will be downloaded as a zip folder. Extract it and run!

You can see the Clone or Download option in green on the right side.
You can see the Clone or Download option in green on the right side.

Making your own repositories

Go to GitHub and click on the + on the left side pane next to the repositories.

Choose New option from the left side panel
Choose New option from the left side panel

Give your repository a short name, description, and a Readme (refer here for the Readme markdown tutorial) tag to describe what it contains.

As a beginner, you can upload the simple projects that you have done and your coding solutions.

widget

Click on Upload Files, choose your files locally from your computer and select the option of commit directly to the master branch. Now, click Commit changes. It will add your files into the respective repository.

Open source contribution

If you want to add your code or enhancement/bug suggestions, you can readily do so by raising an issue. To open an issue, you need to go to the Issues tab and choose New Issue. Describe the issue (suggestion/bug/etc.) you want to add and click on Submit New Issue.

The Issues tab with option of New Issue
The Issues tab with option of New Issue

Now, if you see an issue that you are capable of solving, give it a shot! You can select that issue and comment to ask the author of the repository for contribution by opening a Pull Request. Pull Request (PR) is basically a request to push your piece of code to another repository. If granted a YES, you can open a Pull Request in the following way.

widget
  1. Click on the Fork option at the top right corner.
  2. Add your code by uploading the necessary files in your forked repository using the Upload Files option.
  3. Choose the second option of creating a new branch. This will ensure that the original author of the repository can either accept your change request or to discard it with ease.
Upload files option (right)
Upload files option (right)
Create a new branch for the pull request
Create a new branch for the pull request
  1. Now, go to the original repository from where you forked. Click on Compare and Pull request.
Compare and Pull Request option
Compare and Pull Request option
  1. Just the last step, you need to fill a template PR that describes the linked issue number that you just solved, and the files that you have included in your branch PR made. You can see my PR example here.
widget

Now, if the PR is good enough, it gets Merged (you can see in purple right above); else, the author can request changes to your PR with reviews.

You can also make an attractive portfolio website of yourself that highlights your skills, projects, and many other things for free using GitHub Pages!

You can explore my GitHub profile here.