What’s the Point of Pull Requests Anyway?

Dan Goslen
codeburst
Published in
5 min readSep 16, 2020

--

Photo by Elaine Casap on Unsplash

If you are a beginner in the world of Git and hosted Git platforms (such as GitHub or GitLab), then you’ve probably never heard the term “pull request” or “merge request” before. You also might not understand what they are or the value they bring to your team.

Sidenote: I’ll be using the term “pull request in this article, but it’s effectively the same as a “merge request” in GitLab.

Pull requests help teams build and share software. They do have a bit of a learning curve though, but I believe its worth it. My goal in this article is to help you get familiar with pull requests and how they fit into the flow of building software.

What is a Pull Request?

A pull request is really just a request to pull/integrate changes from one branch to another. This might be from a branch with a single commit from one developer, or a branch with multiple commits and authors. In most cases, a pull request is used to integrate a new feature or bug fix into the project’s main branch.

A pull request also includes a short description of the changes and why they are being made. There is usually a discussion amongst the author of the pull request and a set of reviewers. Reviewers are just other developers that have worked on the project and can provide feedback on the changes. In open-source projects, these reviewers will typically be core contributors or maintainers. In other cases — like with your team at work — the reviewers will typically be senior engineers or teammates.

Here is an image of a pull request in GitHub with a simple description referencing an issue:

Now that we have defined a pull request, let’s look at why they are so popular and helpful.

Communication

At their root, pull requests help by making it easy to collaborate with others. They allow for transparent communication between authors and reviewers by showing diffs, commits, and facilitating comments about the changes.

--

--

Jesus follower | Husband | Dad | Software engineer. Helping devs build better teams