• 12 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 8/21/19

Handle all pull requests within a team

Log in or subscribe for free to enjoy all this course has to offer!

You may go to some GitHub repositories and see that they are constantly being updated.  Maybe they have a lot of contributors regularly sending in branches from their own local repositories.  An active project could involve thousands of commits - even as recent as five minutes ago.

Contributors and their branches!
Contributors and their branches!

But how do you manage to keep a project active?  The key is to involve your contributors!  Contributors want to know that the hard work they have put into fixing an issue on your project is acknowledged and valued.

Manage your pull requests to engage contributors

Let's say you saw an issue on a Java project that you really want to fix.  You make your changes, branch it,  and send a pull request.  You don't hear from them for weeks.  It doesn't look like they care, so you go ahead and move on to another project. That is how so many projects lose community interest and fade out. In other words, managing your pull requests is critical. 

But if there's a ton of pull requests. How would I keep up with them? 

Good question! Here are some ideas that work:

  • Check your pull requests regularly.  Assign them to different team members if that helps.

  • Use pull request management tools from GitHub Marketplace.

  • Test the pull requests and merge them when they are approved. This shows the contributors that their contribution has value to the project.  

To check your pull requests, start by going to the Pull requests tab under your repository:

Choose the Pull Requests tab
Choose the Pull requests tab

Go through the list of pull requests to test and merge them to your repository!  It looks like this one has 21 pull requests, so someone's slacking!! 😦

Go through the Pull Requests and close them out
Go through the pull requests and close them out

Decide when to merge changes

This is a tricky question! Your open source project will always have designated people that look at pull requests.  But once you have them, what do you do with them?  I'll tell you what not to do!  Do not just merge it into your master branch!  Most organizations keep the latest version of the code that is in production in the master branch.  Any wrong change to that master branch, your production code is toast!  😧

Here's what you should do with a pull request:

  • Note who the contributor is. 😇

  • Pull the new branch into your local repository and test it against the source code for the master branch.

  • If it is an approved change, push it back to the main repository.

  • In larger projects, the testing and approval process may involve a team, and additional steps. 

  • If the contribution is a success, the branch will be merged into the master branch to create a new version of the code added by a contributor! ✨

Make your project readable with badges

Remember those badges that we looked at?  Take time to label all the issues.  Some can be good for beginners, and this will attract new contributors that want to learn and grow.  Other can be labeled with specific skill sets in mind so you will get experts who will pop in and find the issues they can fix with ease and efficiency!  

Check out the badges in the README file in the Kubernetes repository. The badges are a nice, clean way to add labels to the description

The labels at the bottom make the ReadMe file more interesting
The labels at the bottom make the README file more interesting

GitHub Marketplace has project management software that provides a GUI interface that can allow you to track the issues.  You can order them by priority, those that have contributors working on them, in progress and fixed issues. Since it's done with badges, it's easy for everyone to read and makes the project easy to track

Let's recap!

  • Don't let your pull requests pile up.

  • Use labels in your repository to make it more attractive.

  • Pull requests are critical for keeping public open source projects active.

  • Do not just merge requests without testing them.

  • Use GitHub tools and processes to help you organize and delegate pull requests for your project.

Example of certificate of achievement
Example of certificate of achievement