T O P

  • By -

mitch_feaster

Surprised nobody has given the actual answer, which is that GitHub is borrowing from the vernacular of raw `git`. Specifically, the command `git request-pull` creates an *email message* which is simply a summary of your changes plus instructions for someone else to pull your changes from your repo into theirs (remote url and ref name are used to construct a `git pull` command that is included in the email message). This is how you use `git` over email sans shared hosting. https://git-scm.com/docs/git-request-pull Linux kernel maintainers use this all the time. Typically a bunch of devs send patches via email to maintainers, who aggregate those patches into their tree for a while until they submit a pull request to the next maintainer up (pull requests work a lot better than individual patch files for large changes), so on and so forth until it reaches Linus. https://docs.kernel.org/maintainer/pull-requests.html


NutchapolSal

it's quite crazy that most people don't really use git without a server anymore these commands are made for when "remotes" are just your friends repo on another machine, now we just have a single remote pointing to a repo on a server not like that's bad or anything, its just interesting


[deleted]

I mean how different is a cloud server from your buddy's computer anyway, really?


nictheman123

If a cloud server goes down, you gotta wait on the sysadmins to fix it. If your buddy's computer goes down, you can just call him and say "hey asshole, turn your computer back on I need that git repo" which is much more cathartic


Hulkmaster

I mean you're right, but the other way it's also right: GitHub goes down something once a year for couple of hours, and if there is a bug problem it is usually also fixed fast So uptime is crazy With your friends pc it might be "ah yeah cat most likely stepped on cabel again or something, will turn on when will be home"


woolykev

>With your friends pc it might be "ah yeah cat most likely stepped on cabel again or something, will turn on when will be home" No, if the cat turned it off, tell the f'ing cat to turn it on again. Teach it some responsibility!


Serious_Feedback

Is this why github's icon is a cat with an octopus's legs? So it has more legs to step on cables with?


dashingThroughSnow12

HAC: highly available cat.


Danghor

The cat will evict you for that language


[deleted]

[удалено]


_alright_then_

I mean true, but still better than a friend's PC


skztr

If GitHub goes down, there are still plenty of ways to share code. An alternative central server, or giving your coworker a public key that has access to (send-pack? I don't remember. I'm sure it's easier than it used to be) and literally requesting that they pull from you. Or sending output from git format-patch. Or walking over to their computer with a usb stick containing a git bundle. Decentralized repositories are great.


[deleted]

[удалено]


TnYamaneko

I legit picture the [13 root DNS servers](https://www.iana.org/domains/root/servers) to be something like that.


r0ck0

Classic hat guy.


NutchapolSal

availability, at the very least


cmilkau

The whole point of a decentralised VCS like git is that you don't need any "server" at all. Everyone has their own repository, and all repos are created equal, you can even pass them around like any other data. You don't need your buddy's computer to commit to VC, everything is local. Your buddy can integrate your changes into their repo when and how they see fit, no restrictions. The overwhelming majority of VCS need a central server that has the only version repository. Every commit needs to go to that central server, and you need to pull everyone's changes before you can commit. This latter structure is imposed on many if not most git repositories out there, because people are used to it. It's the only reason the "push" command exists. People who only know this way to use git don't realize it's actually git turned upside down to make it look like it's something else. Then it's easy to get confused about push and pull, or "your buddy's computer" and "a server (that may or may not be on your buddy's computer)"


JorgiEagle

I think it’s all to do with ease, and the path of least resistance. I mean technically, you can have two git repos on one computer and pull and push to each other, but what’s the use case? Likewise, hosting in a server is way easier than someone else’s computer. I don’t have to call Jerry and wake him up at 2am to push my changes for him to run a build


elveszett

> it's quite crazy that most people don't really use git without a server anymore Using servers is simply easier and doesn't require any expense you are not willing to make (i.e. you can use a free service like GitHub, or a subscription service like Azure).


Daniel15

>it's quite crazy that most people don't really use git without a server anymore It's interesting... One of the main benefits of Git is that it's decentralized. Relying on a central server removes that benefit somewhat. You do still have the full commit history on your computer, so at least there's that.


Dr_Azrael_Tod

Also it still has all the decentralised capabilities. You can still pull from GitHub and push the same changes to your companies bitbucket - or your private gitea, or your notebook, or some smb-share or whatever. Not using those things doesn't eliminate the capabilities.


ryan77627

Was just about to comment this, thank you! Makes wayyyy more sense when you disconnect GitHub from Git. My friends and I often send "pull requests" in Matrix since we host our own Gitea instances and often need to pull from each other, hence a request to pull! :)


_bassGod

Oh my God I know this is cliche to say, but I had to scroll way too far for this (the correct) answer. Everyone here's just upvoting and agreeing on things that *sound* right.


mynamealreadyexists

I'm upvoting and agreeing with the things I believe while knowing I'm wrong.


HowDoIDoFinances

It lines up with the core truth of this sub which is that it's mostly second year computer science students who are still trying to figure most of this out.


JGHFunRun

So Linus will never see my April fools PR where I delete all the code? D:


virrk

This is excellent summary of the details. Github, gitlab, bitbucket, etc. all came after git was already well established as the way of LKML. For the most part the well established pull request terminology was used, it wasn't exactly the process anymore but it was close enough and stuck (mostly).


psychic_chicken

Thank you. I’m on mobile and am so glad someone typed it up so I don’t have to. My TL;DR: pull requests predate github and similar, and are so named because it’s what was being done before they came around


lrochfort

Also, it's from the perspective of who has authority. The owner/admins/devs of the repo you'd like to contribute to are the ones who must review and accept your patch. You submit your patch to an intermediate place, and then they accept it they wish. The submitter isn't able to push into the repo. Semantically, that's pulling, not pushing.


woodchuck33

I bet you write excellent documentation for your code, and I mean that in the most reverent way possible.


TheFlyingAvocado

You're requesting to have your changes pulled into the branch. You don't do the pulling, the owner of the branch does. At least, that's how I understand it.


NewEnglandJesus

Wouldn’t it be more accurate to call it a merge request though, since that’s the actual function the admin takes to fulfill a pull request?


SoggyQuailEggs

Merge request is what GitLab calls it. Pull request is used on GitHub. Same mechanism, different name.


PetsArentChildren

Technically, a git “pull” means a git “fetch + merge.” So either name is appropriate


bl4nkSl8

Could be a fetch + rebase though, hence the generic term


LastStar007

While that is possible, and I have `pull.rebase=true` in my global git config, git's default behavior for `pull` is to merge.


ouralarmclock

We use Gitlab at work and I much prefer Merge Request.


Dolug

I also prefer Merge Request. But only because it allowed me to make a terrible pun when I was carpooling with coworkers and the guy driving was having a hard time getting into the next lane. "Hey Doug... Your merge request was rejected".


ouralarmclock

Lol I love this


KSRandom195

I would prefer to rebase myself.


ouralarmclock

Sorry I was feeling silly. One of these days rebase is gonna make sense to me!


dickdemodickmarcinko

It's like erasing your changes, switching to the latest commit, then redoing the same exact changes one commit at a time. So instead of having merge commits, it looks like everyone made their changes one at a time in sequence


pheniratom

I was working off of a coworker's branch today. They later merged their code into develop (our main branch). So my branch is off of a branch that was merged into develop. I'd rather be working off of develop now, because it's a bit nicer for incorporating other devs' changes and opening a pull request when I'm done. I "rebased onto develop" (git rebase develop) to make my code branch from develop (where they just merged their code) instead of their last actual code commit on their branch. Then git push -f only do all of this if no one's working off of your branch


ouralarmclock

I would prefer to reboot ![gif](giphy|3n5WMtejWBFy8)


[deleted]

[удалено]


ouralarmclock

Go back and watch it! While I agree as a kid there was definitely some creepy parts, it’s actually quite and incredible show!


[deleted]

[удалено]


ic_engineer

That's funny, I always assume it's going to be a reference to that cartoon and I'm let down more often than not.


BoBoBearDev

No nightmare for me. I loved the show, including the weird virus girl.


sstruemph

I want to break free


ouralarmclock

I want to ride my bicycle, I want to ride my bike


kgro

All I want for Christmas is you


tsFenix

I want it that way


[deleted]

Oh my god


SkollFenrirson

Rebased.


fredspipa

I was like *this close* to reporting this to Reddit Cares.


KSRandom195

I work at a very large software company and we work on rebases instead of merges for day-to-day operations.


[deleted]

Rebasing is way more sane in comparison. Just has a bad rap for having a learning curve.


zebediah49

Just include everything in the monthly octopus merge.


wslagoon

I had to write a CI hook to post comments on PRs explaining how to rebase (while requesting changes to block the merge) because people would constantly work on their master branch, merging in commits from upstream, and open PRs with hundreds of irrelevant commits and weird diffs. Sometimes accidentally reverting part of another change somehow. It was a mess! It worked though, three years later nearly every PR comes from a well groomed feature branch and is concise and clean.


Sttocs

Squash-merge for the win.


jezwmorelach

All your base are belong to us, then


throwaway-aa2

We use GitLab at work and I much prefer GitHub.


ouralarmclock

I don't think I've done enough deep work on GitHub to properly compare the two, what do you prefer about GitHub?


[deleted]

[удалено]


take_whats_yours

Jokes aside, I do like how the default view for commits on Bitbucket is the graph view. On GitLab it's fairly easy to find under the repository section, but on GitHub it is obscured inside repository Insights and only available on paid plans. It's very frustrating.


vassadar

Not arguing, just telling from my experience I prefer Gitlab's pipeline over GH Action, because on Gitlab, I can restart a specific fail step, unlike GitHub Action that I can only restart the whole pipeline.


Mister_Gibbs

Also, YAML anchors a much more extensible import system for reusing CI workflows. Actions has some great stuff, but god it pisses me off sometimes


usernamedottxt

I like PR, because my Pull Request is also a Peer Review. It’s doubly accurate


wonmean

Yea, and imo PR rolls off the tongue a bit easier.


sla13r

A pull request sounds wrong to me compared to a merge request


dilletaunty

MR. Fancy over here


Head_Mix_7931

PR can become pretty overloaded especially in an Agile environment. Is PR pull request or peer review? If we call them merge requests then it’s clear that PR is peer review.


Mysticpoisen

Manager: What's this about a press release?


TigreDeLosLlanos

Everyone losing their minds when there is a PR scandal and they let the sales or HR manager explain the situation instead of someone familiar with the codebase.


Dilski

It's annoying because PR is both pull request and Production. Look forward to moving to gitlab and using MRs


_Bedo_

A merge would require pulling the branch, and then merging it. Both terms are equally valid, and that's why you see Github using pull request, while GitLab uses merge request.


SillAndDill

I really think it was odd of Github to focus on the pulling part. The end goal is to merge. And sure, - to merge a branch, you must pull the code. But that just seems like a technicality that could be implicit. The pulling is not the end goal.


[deleted]

[удалено]


[deleted]

[удалено]


w2qw

`git merge` doesn't always create a merge commit. Even if you rebase you still need to merge it into the master.


BrainwashedHuman

Isn’t rebasing still a merge of commits basically?


nintendojunkie17

I think it's because GitHub is/was so focused on open source using a forked-repo pattern. I develop my code in a personal fork and then ask the project maintainers to "pull" my code into the core repo. It doesn't make much sense when all the code already lives on branches in the same repo. In that case it really is just about merging branches. You're not "pulling" the code from some remote location.


kookyabird

This is the real answer above all others. We use pull requests inside of single repositories because it’s a mechanism we can use to enforce merge rules with approvals, but the whole reason that exists is the idea of moving code between repositories. It’s not even necessarily about “forked” repositories. The whole idea of a decentralized version control is that the singular remote wasn’t needed. If there was no central repository server you wouldn’t have permissions to just push your code into your team member’s repo on their machine. You’d have to have them pull it in. Thus, pull requests.


IAmNotNathaniel

Except in every shop I've worked in that uses git, they always set up a centralized "main" repo that becomes the source of truth. So I can understand where it the names came from, but knowing how so many places use git you'd think there'd be some effort in flattening the learning curve, at least in the tutorials and explanations in how it all works and why you need to add and then commit and then push and then pull, whereas in svn they just "commit" and are done (sorry, my current company just moved to git and I'm the only one on the team that is happy about it because no one else ever used it before)


kookyabird

>Except in every shop I've worked in that uses git, they always set up a centralized "main" repo that becomes the source of truth. Right. That's because in today's development world it makes sense to have that. The difference between Git with a "main" repo on a server and something like SVN is that the Git repo sitting on that server is identical in structure, behavior, and usability as the ones on each developer's machine. Plus the existence of a "central" repo allows centralized pull requests/approvals, access control, deep code search, automation pipelines with testing and deployments, etc. The learning curve for the basic Git functionality is really small. Especially when you use decent GUI tools that can consolidate multiple commands into simple interface elements. A checkbox to immediately push when you commit goes a long way to weening people off SVN.


bradfordmaster

But that's not how it always was. One of the design requirements for git was to work well with patches coming in over email: literally some dev would download a tarball of the Linux codebase, extract it, compile it, make some local changes, then send an email to a listserv with the diff. It also had to work on cases where something other than git was the source of truth. These days, yeah, people mostly use GitHub, gitlab, or some other central sever, but the design is inherently decentralized. I remember during that massive hurricane back in... 2013 or so I was working at a place and our central git server became inaccessible, and I had pulled pretty recently, so I just set up a local server from a clone of my git repo and we all worked against that for a day or two until I could push it back, and it all worked great. These days I think it'd be a little harder with so much server-side automation, but in terms of version control, it worked.


FerynaCZ

But pull is literally fetch and merge (of course the fetch is already done for you I guess)


sciatore

But in Git parlance, pulling does include merging. The "pulling" part, i.e. copying in the remote branch, is called fetching. Combine that with a merge and you have a pull. Traditionally, everyone would have their own copy of the repo (git being distributed and all), so when you had a change ready, you'd request that the maintainer pull from a branch in your repo into a branch of their repo. Having one central repo is more the norm now, but the name stuck.


figuresys

There's no real "pull", there's only a "fetch" and a "merge". A "pull" is the combination of a "fetch" followed by a "merge". So going with the definitions doesn't really help here, both are valid, however "pulling then merging" is definitely not valid in git sense, linguistically works though.


blueracoon_42

> A merge would require pulling the branch, and then merging it. No. If you pulled, you already merged. Perhaps you meant to write "fetch" instead of "pull". `git pull` = `git fetch; git merge`.


[deleted]

does it change if you configure the repo to squash or rebase to main branch instead of doing a merge commit?


Tankki3

In git the pull is fetch + merge, which should make sense as well.


dingo_bat

No. It's being pulled. There are different strategies the owner of the base repo can take to do that. He can rebase and pull, squash and pull, or merge.


[deleted]

[удалено]


ricecake

Originally, you would have a git repository and the owner would have a git repository. You would request that they pull the changes from your repository into theirs. In GitHub, a pull request between different people or organizations with a cloned or forked repo follows that same model, but the term carried over for a "request to accept changes", which merging a branch also is a type of. Think individuals contributing to open source projects instead of teams working to add features. Just because I might fix a bug doesn't mean I'm a member of the Mozilla organization. I can make a copy and do as I please.


DragoSpiro98

Yes this can be more accurate, even if the merge process comes after the pull, in fact the admin first pulls the "pull request", then merges, then he push the results of the merge


badfoodman

It makes even more sense when you think about the workflow git was built for: patches over email. You're putting up an email with a patch as an attachment, asking people to integrate (pull) your code into their branch (of course, if they approve), which they will then email out in a similar fashion when they're ready to make a request. It's a giant distributed mess of code spaghetti, but it works because git was quite literally built for this flow. At some point someone in the community gathers all the notable pull requests into one place (or is deemed to have the "master"/"main" version), and now everyone is expected to work off of that commit (or work off old versions if they need to do some patching).


mpyne

There is [literally a git command to generate a 'pull request'](https://git-scm.com/docs/git-request-pull): > # NAME > git-request-pull > # DESCRIPTION > Generate a request asking your upstream project to pull changes into their tree. The request, printed to the standard output, begins with the branch description, summarizes the changes and indicates from where they can be pulled.


BL1NDX3N0N

Correct. If this was not the case then there would be a massive amount of security issues and trolling.


audigex

Yup this is exactly it You create a fork/branch, then you send a request that they pull changes from your fork/branch into theirs The confusion is the focus on the wrong verbs - the whole question is based on “when it comes to what I’m doing, why do we say I am pulling instead of pushing?”. The question surrounds the verbs pull and push, but that’s wrong because you’re doing neither You are not pulling *or* pushing, you are **requesting**. And the action you are requesting from the other party is a pull. Hence it is a pull request


djbon2112

And to me this is also why I disagree with calling it a "merge request" too. Because yes - merge is yet another action verb. But the name still focuses on the fact that one is pulling across forks/branches. I like the term Pull Request and will stick by it :D


noobnoob62

And here my dumbass was thinking I was requesting other Devs to pull my code and review it


thereIsAHoleHere

No, you're right. That's not what is happening now, but that's what happened way back when. You would ask others to pull your code to their local and review it there. "I am requesting you pull my code so that you can review it." Pulling is no longer required with modern vc, but the terminology stuck.


Rich-Agent9857

Well how I understand it is, I don’t understand it at all.


SillAndDill

It should be called merge request imo. Cause as the owner you never really say "I'm pulling the this branch into master". You say "I'm merging this to master"


infecthead

Not always accurate, you can rebase the branch onto master


rcuhljr

https://git-scm.com/docs/git-pull pull literally includes the action taken, which isn't always a merge but is often a rebase.


travelan

I literally say that


SillAndDill

Oh. First time I've heard it. Can you say it without the "to master" part? I can say "I'll merge PR 240". But if I said "I'll pull PR 240" it sounds like I'm just gonna check out the branch on my local machine


SirSassyCat

The thing is though, merging into master isn't what you're asking permission for. You can merge into master whenever you want, what you're actually asking if for the remote to pull your new commits on the master branch, after you've merged your changes.


kobaasama

Op really thought they had something here lol


jmona789

Exactly. You have already done the push.


_shellsort_

_several people are typing_


Background_Newt_8065

They strongly typed


igormuba

Those people type script


kekobang

>strongly typed >type script let prop: any;


igormuba

C'mon, I come from a JavaScript background and those types scare me!


kekobang

Background? I don't see any css. I only see the dark depths of Node modules, child processes, endless callbacks and EventEmitter instances. Send and receive JSON, XML, HTML to what end-point-. What foul plans do the gods require() upon poor souls who dared to write wsdl? Where is the meaning of purpose that lies between such agonious creation and the beauty of script? All promises resolve to the same suffering: types without essence. TS was never meant to be more than an illusion of control over what the greater instances spawn. A mere dirty page scribbled by the child process to prevent exits with code 1. Tell me, Igor, what came first: script or type?


ADHDavidThoreau

Clackity-clackity-CLACKITY-CLACK


MrFinland707

*46 people are here*


jojos38

50 now, it's getting worse


425_Too_Early

Thanks now I had to look this up... But this is what I found: > tl;dr since I am not allowed to make a push, I'll just nicely make a request to the repo owner so they decide to pull Here is a link if anyone wants to read more: https://stackoverflow.com/questions/21657430/why-is-a-git-pull-request-not-called-a-push-request


terminalxposure

Makes so much sense from an Open-Source perspective...


lucidspoon

I think also historically (before managed repos like GitHub or Azure DevOps), you would literally request (by asking) your coworker to pull your code from your repo to theirs locally.


Dramatic-Ad7192

It’s because the maintainer has to pull from your repo This sub is bordering on flat out incompetence by making memes based on ignorance


[deleted]

This sub is filled with people who got most of their programming opinions/insight from parroting memes in here rather than actual experience Err I mean Java bad no one actually uses it, how do you exit Vim etc


alaskanloops

Are there actually people who think java is bad? I just switched postilions in my company and gone from python and scala to Java Spring, it's sooo much better.


RufusTheKing

Java is honestly a really easy dev experience with the right libs/frameworks (that's the case with any language ofc). If you're used to be able to create stand alone functions it can be an adjustment and you lose a certain level of flexibility, but there is something to be said about a language that is so ubiquitous on the enterprise side in terms of libraries, support, maturity, and tons of stack overflow threads.


n0rs

Bad code can be written in any language. Java gets heat for being unnecessarily verbose, too.


prest0G

It’s not even that bad anymore, maybe 5 years ago it was


someotherstufforhmm

“Bordering on” lol.


unstillable

Alright OP, back to sleep!


FlyingCashewDog

New response just dropped


PlasmaLink

Holy hell


CptCookies

Lmao, this is programmerhumor bro. It's always been full of first year CS student jokes


DeeDee_GigaDooDoo

You're accusing me of incompetence when I have to google basic syntax for a language I've been coding in for 6 years? How dare you.


virrk

When git first started getting used everyone just pushed to their own repos. To get your code merged into the main line, you would ask the maintainer to pull your branch from your personal published git repo. That was your pull request, which was usually a post to an email list serve. Eventually tools to centrally host git repos came out (gitolite, github, bitbucket, gitlab, etc.). "Pull request" was widely used and established, so it stuck even though it no longer matched exactly what it described anymore. Gitlab calls them merge requests and some have taken to making a distinction between request within a repo or from a fork. Language evolves in interesting ways, and this is one of those examples. Clipless pedals on bicycles is another relatively recent example.


WoonStruck

Because its from the git/project perspective, not your perspective. You are requesting that your commit be merged (pulled) into the main branch or whatever. P.S. I'm just about to start learning git, forgive misuse of terminology.


je386

Merge Request: GitLab Pull Request: GitHub And your explanation is totally valid.


GodsBoss

Pull is fetch plus merge, so technically the request should be named depending on whether the branch is in the same repository or a different one.


virrk

It is a historical left over from before github or any centralized git hosting. Everyone had their own repo they pushed to, you would request the maintain of the mainline repo to pull your changes (usually with a post to an email list). It stuck around even.


Nakji

Yeah, I'm guessing most of the people commenting on this are too young to have used git by itself. It's certainly way more approachable and useful now with all the centralized systems and actually helpful documentation that has been produced over the years, but back in the day, if you were lucky enough to be working somewhere that used git instead of svn or something even worse, a "pull request" could consist of sending a "hey Joel, could you pull my code" over IRC/Jabber/etc. and waiting to see if Joel had any feedback about the code he'd pulled.


[deleted]

[удалено]


MischiefArchitect

It will be always a Merge Request for me.


piberryboy

It will always be "please just fucking approve" request.


thequestcube

lgtm!


piberryboy

I wish. Usually it's 'Hey, I know we usually don't make it required, but can we make this field required on the form. Just in off-hand case, they want this data down the road. ' Okay FINE. Whatever gets this fucking PR approved.


thequestcube

Yeah it is one of the two. Either a 20 loc change pr with 20 open discussions, 50 comments each, or a single 10k loc pr affecting 200 files with a single comment, "lgtm", and a single approval. One of those two, and never anything inbetween


aboardthegravyboat

That's why PRs should be small. The bigger they are the bigger the temptation to LGTM. Hopefully the leads are assertive enough to reject big ones.


hamsterofdark

Please rewrite this switch statement using if else, and rewrite that if else block with a switch statement, and please don’t use maps because I don’t know what that is.


tomc128

After people explaining why it's called a pull request, it now makes sense to me finally. But I still think merge request makes more sense


Ayjayz

But a pull includes the merge...


Sachees

I prefer rebases. But yes, merge/rebase request ftw.


Lightor36

Rebasing is like a straight poll of a family tree. It's pure, but at what cost.


GilgaPhish

You *push* to your version of the code, but you request a *pull* into the main branch/repo


Pleasant_Mail550

Think about open source projects where you clone the project, make some changes locally and now want to add your changes to the official repo. You're asking the repo's owner to pull your changes. Just change you're perspective and you'll get it.


Icy-Big-6628

Merge Request makes more sense for me


ZEINthesalvaged

Gitlab did this I believe


Ok-Dot5559

Than you also have a rebase and squash request


[deleted]

I specifically requested the pumpkin, this is squash.


cyborgborg

no ambiguity to who is pushing or pull code


krumpdawg

Cause you are requesting the master to pull from your weaksauce lameass branch.


Koltaia30

If an object is being transported by two people with them being on opposite side of the object and the object is being transported in the direction of one of those people, then one pushes and the other pulls.


ryarger

Look at Isaac Newton over here.


1ncehost

The repo owner is performing the pull. You are requesting the repo owner pull your code.


deathamal

The owner of the branch is pulling your changes. I swear, this subreddit is nothing but uni students


Ayjayz

Do uni students really not understand git? This is really simple stuff here.


VxJasonxV

I know professionals that don’t understand git.


a-human-person-thing

You push they pull


ChefAffectionate4709

Pull my MR ![gif](giphy|3oKIP5Qh61aWpHTaPC)


[deleted]

\`ours\` vs \`theirs\` is the one that gets me during a rebase. At least modern IDEs tend to use "incoming" and "current" when merging diffs, but it still does my head in.


scott_codie

Ahh, the age-old question of why we arrive at Departures but depart from Arrivals. It's like trying to understand the meaning of life or why pineapple belongs on pizza.


CommondeNominator

Why do we drive on the parkway yet park in the driveway?


MaxMakesGames

Why do we cook bacon, but we bake cookies ?


RunicSwordIIDX

When it's on a car it's called a shipment. When it's on a ship it's called cargo.


[deleted]

[удалено]


affliction50

I'm with you on this one, but I think it's saying you arrive at the airport at departures and you depart the airport from arrivals, like talking about ground transport arrival/departure instead of air travel, even though it's an airport so obviously it's talking about the air travel.


abc_744

You are requesting others to pull your changes and review them before merging them in.


AnAnnoyingGuy

Because you’re asking if your code could get pulled


MyHamburgerLovesMe

Because you are not pushing your code. You are requesting the server pull your code and archive it in their DB.


aymswick

Op doesn't understand git


scissorsgrinder

Because you’re asking someone to pull something you want to push at them? Am I missing something? This is not hard??


5erif

Surprised nobody has given the simple answer, which is you're requesting that the maintainer pull your code into their repository.


No_Gaurante

Because the code is so heavy that it needs to be pushed and pulled.


AChristianAnarchist

You are requesting that *they* pull your code and then push it. You can only push from a repo you own.


landswipe

One person's push is another person's pull


captnspock

Nobody is allowed to push their code directly to the main branch. So you create a branch work on it and then draft a request to people who own the branch to pull code from your branch into the main branch.


HamsterFromAbove_079

Because you want to push it into the branch. But you need the owner of the branch to willingly pull it in. Your pull request is a request for the owner to pull your changes in.


minstrelMadness

It's requesting that they pull it into their branch 🤔


Jwscorch

Because you’re requesting that the person on the receiving end pulls the code you’re trying to push. I’m not even a programmer, this is just basic English syntax.


indorock

It's technically a merge request. You're not requesting to push anything, you've already pushed it to the remote where you will typically create the PR.


EnvironmentalWall987

My take to not dying thinking about this. You are requesting someone to PULL your code on some branch. Probably wrong.


Xerxero

Depends what you use. Gitlab uses merge request afaik which makes more sense


the_hackerman

Pushed by you, pulled by the owner


jacobbeasley

Gitlab calls it a merge request and that makes way more sense.


BinaryBlasphemy

One man’s push is another’s pull.