用于合并分支和官方存储库的术语是“拉取请求”。这很令人困惑,因为我似乎是在请求将我的更改推送到官方存储库。
为什么它被称为拉请求而不是推请求?
用于合并分支和官方存储库的术语是“拉取请求”。这很令人困惑,因为我似乎是在请求将我的更改推送到官方存储库。
为什么它被称为拉请求而不是推请求?
当前回答
拉取请求是生成一个请求,要求repo拉取您的更改。
其他回答
当你发送一个拉取请求时,你是在请求(请求)官方的回购所有者从你自己的回购中拉取一些更改。因此出现了“拉请求”。
任何需要一段解释的术语,都表明术语的选择不是直观的,具有复杂性或片面性。上面有很多写得很好的解释,所以我就不再赘述了,但这里是我对git中的push和pull术语感到沮丧的评论。
考虑门上正常的“推”和“拉”标签。
它是从即将开门的人的眼睛里解读出来的。
如果是“推”,这个人就会“推”。
如果它说“拉”,自然会有一个把手,用来把门拉向自己。
现在想象一下,如果gitHub制造了门,并在门上写了“拉”,只是为了让门从另一端被拉,而不是从你的一端被拉(所以在某种程度上,这是正常世界中的推!)。然后,你会用你的大脑来对抗直觉思维,并将拉门转化为推门。
正是这种想法导致了这种混乱。
我们大脑中依赖直觉和原始解释的系统会进入一个冲突区。
我只是选择接受git Pull和Push请求的这个异常定义,并将其作为生活中一旦遇到的许多例外之一,然后继续前进。
我认为这是一个愚蠢的术语,因为我想认为我想把一些东西推给你,而不是反过来要求别人拉我的添加。所以应该改为PUSH REQ。因为我是主动的那部分箭头指向相反的方向从我开始,而不是另一端的高飞。恕我直言。
如果您在存储库中有一个代码更改,并希望将其移动到目标存储库,那么:
“Push”是你强制目标存储库中出现的更改(git Push)。 “Pull”是目标存储库抓取你的更改,以呈现在那里(git从另一个repo拉)。
“拉取请求”是您请求目标存储库获取您的更改。
“推送请求”将是目标存储库请求您推送更改。
我想把一些东西推到别人的回购中。
我没有推(或拉)的权限。
所有者/合作者拥有权限。它们既能推又能拉。我推不动。
所以,我要求他们执行我的拉——这间接地意味着我要求他们接受我的推。
所以,没有推送请求。只是为了拉一把。并接受一个推动。
因此,这是一个“pull”请求。而不是“push”请求。