DEV Community

Cover image for Getting Better At GitHub
Amir Helali
Amir Helali

Posted on

Getting Better At GitHub

Great opportunity to Work on a different project

This week's task for my open source course was about working on a project other than mine, and the goal was to get better with some of GitHub features like: creating issues, forking, cloning and pull requests. So I asked one of my classmates who had written his text to html converter program in Python, if I could add markdown to html support to his project. After getting his approval, I forked his project and created an issue explaining what I was going to contribute.

The process

  1. I went over the code base to understand the overall structure of the program so that I could make my contribution by making the least amount of changes to the original logic.
  2. After understanding the structure, I decided to add markdown support so that the program would accept .md files in addition to .txt files. After testing every scenario that I could think of I committed the changes to my branch.
  3. I decided to add Heading1(#) to <h1> feature for the markdown to HTML conversions. Again, after testing everything to make sure what I added worked and didn't change the existing functionalities I committed my code.
  4. I made changes to the documentation and sample examples to reflect the new feature added to the project and committed them.
  5. Created a detailed Pull Request reflecting the changes that I had made.
  6. Received feedback from the project owner and made some small modifications based on that.
  7. The project owner accepted the updated Pull Request and merged it to his project.


  • This was a great opportunity to get some practice using Python, which is something that I wanted to get my hands on.
  • I didn't know that a Pull Request can be linked to an issue in a GitHub repo, so that was interesting!
  • I learned that I am more focused and put more care into working on someone else's project.

What I would do differently

One thing that I will do different in future when contributing to someone else's project is to go over the planning stages of my contribution with them, if that is a possibility.


The only thing, which was not really a problem, was getting used to Python's syntax and learning about the tools that the language offers.

Pull Requests to my project

I received Pull Requests to my own project. The process and the communication was very smooth and similar to what I did, because it was from the owner of the project that I contributed to. We went over the changes after the initial Pull Request and I requested some adjustments in my feedback, which were made in the updated PR.

Top comments (0)