Contributing using GitHub Web UI

This tutorial is for anyone who wants to start contributing to open-source but hasn’t mastered git commands yet.

Siddhi Pandare
AnitaB.org Open Source
6 min readJul 3, 2020

--

Photo by Chris Ried on Unsplash

GitHub is the most popular platform for code hosting, version control, and collaboration. It is important to understand it’s workflow in order to contribute to open-source projects. We will use the GitHub Web UI, so you don’t have to worry about learning all the git commands.

Prerequisites

Have a GitHub account. That’s it!

Don’t have one? Make one here.

Pick a project to work on

There are a multitude of open-source projects and software hosted on GitHub. Getting started with a project can be intimidating if you’ve never contributed before.

Keep in mind that coding is not the only way you can contribute to a project. There are other requirements such as updating documentation or creating designs for the UI.

Let’s get acquainted with the GitHub website and how to use it from your browser! Open the project of your choice.

Let us consider we want to contribute to AnitaB’s Mentorship system android project.

If you go to the project’s GitHub page it will look something this-

Issues

What does the word “contribution” really mean in open-source?

Issues acts as a place to report any issues regarding the project such as software bugs , feature addition, documentation enhancement or even creating designs for UI. For example, when you click on the Issues tab you can see all the issues that are open and available to work on. So, contributing means to work on an open issue and trying to resolve it.

In the Milestones column, you can see the people who are assigned to an issue and are already working on it. Search for an issue that is not assigned to anyone.

As a beginner, try to navigate through the issues and find an easy one. Most of the projects/organizations make it easy for you by labeling the issues as shown.

If you set up the project locally and found some bugs that could be potentially fixed or enhancements that could be done to improve the project you can click on New issue and post it.

Raising an Issue is just letting the maintainers (Contributors committed to the organizational aspect of the project ) know about the potential bug that a user may encounter.

Raising an issue and potentially solving it, helps to improve the overall quality of the project.

Claiming an Issue

After deciding which issue you want to work on, claim the issue by commenting under it.

Note: Don’t hesitate to @ the author or to send follow-up comments 😃

Claiming issue by commenting

Forking

After you’ve been given the green light to work on the issue, fork the repository by clicking Fork. This will create a personal copy of the project.

Fork anitab-org/mentorship-android

Forking should create a personal copy named your_username/project_name

Branching

Create a new branch. The changes that are required to resolve the issue will be on this branch.

Creating MyBranch

All the changes should be committed to this new branch.

Don’t worry none of the changes you’ve made will be reflected at the project’s original repository. Remember, this is a personal copy of the project.

Here, anitab-org/mentorship-android will remain unaffected. The changes will reflect on your_username/mentorship-android and more specifically on the MyBranch branch.

Commit

Next, let’s make a few changes and commit them.

Changes could be writing a new file or making changes in the pre-existing source code.

Check the details in the description of the issue to understand what is needed. If it’s not obvious then comment under the issue, and ask for clarification.

You can add files containing changes by dragging and dropping as shown below.

Drag and Drop to add files

You can also add a new file by clicking Add File.

Make sure the files are on the new branch that you have created.

Now click on Commit new file to save the file you have made to the new branch. Follow the commit and description guidelines suggested by the admins as and when you make changes.

Pull Request

Click on Compare & pull request to open a PR.

You are asking the changes that you have made (MyBranch) to be considered for inclusion in the project’s main repository (anitab-org/mentorship-android)

When you click on the Create pull request the changes, if approved, will be merged into the anitab-org/mentorship-android’s develop branch.

Note: Read the contributing guidelines to know where to send the changes.

You can also compare the changes.

Here, we have added a file called NewFile.txt with only one new insertion.

Create a description for the PR or follow a fixed PR Template suggested by the project’s maintainers.

Don’t worry if you are unsure about the changes you have made. Most of the time, rigorous reviews are done before merging the changes into the project. Click on Create Pull request to send it.

Most of the job is done! Now, wait for the maintainers to review your PR 😊

Things to remember:

Attempt collaboration before conflict 👍

  1. Strictly adhere to the contributing guidelines. These include rules about claiming issues, opening new issues, commit and description messages, sending PR, PR templates, etc
  2. First time contributing can be overwhelming, so take your time to get to know the project and community.
  3. You won’t break the project if make some mistakes!! That’s the beauty of version control and GitHub👼
  4. Follow the coding, design and documentation guidelines. Reach out to the community if you can’t find them.
  5. Learn from your mistakes 😊
  6. It is always good practice to ask for help!

I hope you enjoyed this blog post and learned about how you can get started with contributing to open-source 😄

Interested in the project? You can reach us on GitHub and Zulip.

https://github.com/anitab-org

→ https://anitab-org.zulipchat.com/

You can find me on GitHub and LinkedIn 👐

--

--