A help guide for all the newbies who have a desire to explore GitHub and contribute to open source without knowing Git.
First of all, what is GitHub?
GitHub is basically a huge repository collection having a Web based graphical interface. For beginners, who are still confused what a repository means, you can think of it as a large coding community having numerous contributors all over the world. These contributors work together on various projects on this platform, known by the name GitHub.
Why use GitHub?
Apart from only coding enthusiasts, I think every individual who has a knack for computers, IT field, software projects and many such things, must know about GitHub.
If you want to work as a team in developing as simple as a web page, you’ll need several developers having 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 are listed below along with image references.
Exploring GitHub
Exploring repositories using the search option. You can also apply the appropriate filters such as update time, programming language, stars, most forks etc.
‘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 at right side
Making your own repositories
Go to https://github.com/ and click on New option in left side pane right next to repositories.
Choose New option from left side pane
Give your repository a short name, description and a Readme (refer here for Readme markdown tutorial https://guides.github.com/features/mastering-markdown/), tags to describe what this contains.
As a beginner, you can upload your simple projects that you have done, upload course or coding solutions have you have submitted on online coding platforms such as HackerRank, CodeChef, GeeksforGeeks etc or on online course websites such as Coursera, IBM CognitiveClass.ai etc.
Click on Upload Files, choose your files locally from your computer and select the option of commit directly to master branch. Now click Commit changes. It will add your files in 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
Now, if you see an issue that you are capable of solving then 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.
Click on the Fork option at top right corner.
Add your code by uploading the necessary files in your forked repository using the Upload Files option.
Choose the second option of creating a new branch. This will ensure the original author of the repository whether to accept your change request or to discard it with much ease.
Upload files option (right)
Create a new branch for the pull request
- Now, go to the original repository from where you forked. Click on Compare and Pull request.
Compare and Pull Request option
- Now, just the last step, you need to fill a template PR, describing the linked issue number that you just solved, and what files you have included in your branch PR made. You can see my PR example here.
Now, if the PR is good enough, it gets Merged (you can see in purple right above). Or else, the author can request changes to your PR made by reviews.
You can also make attractive portfolio website of yourself highlighting your skills, projects and many things using GitHub Pages for Free!. I will write about how to make one in my next story.
Till then, you can explore my GitHub profile here: **https://github.com/chandrikadeb7**
All the best! Isn’t GitHub is as easy as ABC now?