What is a pull request (PR)?



This term’s been thrown around at work, where I work close to the tech team. I’ve tried asking but it seems like something that’s too complicated to explain simply.

In: Technology

It’s a term used with [Git](https://git-scm.com/), a distributed version control system for software code. You can have different “branches” for a project to track different histories of changes before you “merge” them together.

A pull request is a formal way of requesting that one branch be merged into another.

It the same as going to someone’s desk and take a copy of the document they have written, so that you can use the content or add your own sentences to the document.

Also when you take a copy of the document it is automatically timestamped so your colleague can keep working on their version.

Imagine the tech team is building a house (the house being the code of your product) constantly, only they are building it in modules. Whenever a developer who was tasked with building something, a new roof for instance, is done, he or she asks the boss to inspect it before it is actually added to the house. The inspection part could be seen as Pull Request. If all is well the PR is accepted and the roof goes on the house

To explain a PR, we need a little bit of background information of GIT.

Imagine your coworker is working on a Document and you’d like a copy, but you don’t want him to stop working on the document.
Using GIT you can easily copy (branch/fork) his document to your own desk, and start working on the document without interfering with his document.

Now after some time, your happy with your document and you want your coworker to use your changes as well. This is when you can create a PR (Pull Request) to his document, so he can review your changes before allowing them. After he is satisfied with the changes, he can aprove the PR, and Merge (also merge in git) your changes to his document.

This way you can both keep on working on the same document, without depending on each other.
There are a lot of different ways of implementing GIT, and working with GIT but this is a general overview.

I’m going to need that rundown by 5 so I hope you get this pull request figured out, and get the right files.

I’m going to need that rundown by 5 so I hope you get this pull request figured out, and get the right files.

A lot of Software is Open Source. That means its free and you can do what you want with it. But to use it you need to download what’s called the Source Code. That’s a bunch of files you need to actually use the software.

A lot of Source Code is hosted on a website like Github which uses Git, a different kind of software that makes it so you can have multiple people working on the same project without accidentally writing over someone’s changes. You can make whatever changes you want locally on your own computer but if you want to *merge* the changes you made back into the main project you need to make a Pull Request where you outline what you changed, why and what the benefits are. Then whoever maintains the source code can look at it and decide if they want to accept the changes or not.