5

So a "Push" is uploading a new version of the code from your local device to the repository and a "Pull" is bringing in new changes from the repository to your local device.

Why then is a "pull request" a proposed change to code in the repository? Shouldn't this be called a "push request" instead?

Am I just not understanding something here, or what?

Official glossary definitions are below.

Push

Pushing refers to sending your committed changes to a remote repository such as GitHub.com. For instance, if you change something locally, you'd want to then push those changes so that others may access them.

Pull

Pull refers to when you are fetching in changes and merging them. For instance, if someone has edited the remote file you're both working on, you'll want to pull in those changes to your local copy so that it's up to date.

Pull Request

Pull requests are proposed changes to a repository submitted by a user and accepted or rejected by a repository's collaborators. Like issues, pull requests each have their own discussion forum. For more information, see "Using pull requests."

random
  • 9,774
  • 10
  • 66
  • 83
M. Smith
  • 345
  • 3
  • 13
  • 2
    That depends on your point of view. For the author of the original repo it is a **pull**. A pull of someone's contribution into his repository. – grochmal Jul 08 '16 at 18:27
  • 2
    What's the point of arguing semantics? The common vernacular is to use the terms as you've stated. – Ken White Jul 08 '16 at 18:38
  • 1
    Nothing new: https://stackoverflow.com/questions/21657430/why-is-a-git-pull-request-not-called-a-push-request https://stackoverflow.com/questions/14817051/why-does-github-call-foreign-submissions-a-pull-request – random Jul 08 '16 at 19:13
  • 1
    I'm voting to close this question as off-topic because it is not a development question. May be ask on English Language instead. – njzk2 Jul 08 '16 at 19:36
  • you are requesting that people pull your modification. – njzk2 Jul 08 '16 at 19:38
  • duplicate:https://stackoverflow.com/questions/14817051/why-does-github-call-foreign-submissions-a-pull-request – Timothy Swan Sep 29 '17 at 15:56
  • 1
    duplicate:https://stackoverflow.com/questions/21657430/why-is-a-git-pull-request-not-called-a-push-request – Timothy Swan Sep 29 '17 at 15:57

2 Answers2

3

It is because the collaborators are doing the pulling. If you don't have access to push to a repository, you ask one of the collaborators to pull to it for you. It's like pushing a rock up a hill, with the collaborators at the top. If you can't push it up on your own, you ask the collaborators to pull it for you.

Cameron637
  • 1,699
  • 13
  • 21
3

The term comes from before GitHub was established.
Historically, git users who did not have permissions to push to master committed their changes in a different branch and then do a git request-pull to the maintainers to pull their commit into master. This would be often titled "pull request" since the maintainers are being requested to pull. So, GitHub just stuck with that.

(Source is a GitHub training session where someone asked this question. The trainer did agree that it is confusing for users who use GitHub for the first time and are not familiar with the command line version. But, the term is not going away any time soon.)

Munir
  • 3,442
  • 3
  • 19
  • 29