用于将分支与正式存储库合并的术语是“拉请求”。这很令人困惑,因为我似乎要求将所做的更改推送到官方存储库。
为什么将其称为拉取请求而不是推入请求?
git push
。对我来说,这一切...(是的,他们可能会发出git pull,然后发出git push,但要求进行该推送,并且最终将完成此操作)
merge requests
。更加清晰,恕我直言。:)
用于将分支与正式存储库合并的术语是“拉请求”。这很令人困惑,因为我似乎要求将所做的更改推送到官方存储库。
为什么将其称为拉取请求而不是推入请求?
git push
。对我来说,这一切...(是的,他们可能会发出git pull,然后发出git push,但要求进行该推送,并且最终将完成此操作)
merge requests
。更加清晰,恕我直言。:)
Answers:
如果您的存储库中有代码更改,并且想要将其移动到目标存储库,则:
git push
)中存在更改。git pull
从另一个存储库中获取)。“拉取请求”是您请求目标存储库,以获取您的更改。
“推送请求”将是请求您推送更改的目标存储库。
发送拉取请求时,您要(请求)正式的回购所有者从您的回购中拉取一些更改。因此“拉请求”。
tl; dr,因为不允许我进行推送,所以我会很好地向回购所有者发出请求,以便他们决定撤回
谁可以将代码推送到存储库?
如果有人(可能是邪恶的,未受过教育的或未知的)可以来这里说我只是将其推送到您的master分支,并弄乱了您所有的代码,哈哈!?
当然,您不希望他这样做。默认情况下,设置了安全网,因此没有人可以推送到您的仓库。您可以 将其他人设置为协作者,然后他们可以进行推送。您可以将这种访问权限授予您信任的人。
因此,如果您不是协作者并尝试进行推送,则会收到一些错误消息,表明您没有权限。
那么其他开发者如何才能推送到他们没有被允许推送的仓库呢?
你不能给任何人访问,但你想给别人一个出口/入口点,使他们能够做出“以回购所有者要求拉这个代码进入回购”。简单地说,通过使存储库易于访问,他们就可以对其进行分叉...在自己的分叉中进行更改。将自己的更改推到自己的叉子上。一旦进入他们自己的远程仓库中:
他们从自己的叉子发出拉取请求,上游仓库的所有者(您不能直接将其推入)将决定是否合并拉取请求。
我也建议阅读一个半相关的问题,git push到底会发生什么?为什么不像git merge一样考虑git push?
拉取要求:我要求您拉取我的。
I >>> You
-您在相同的环境中两次更改了参考点……而不是I >>>> You <<<< Mine
我想将某些内容推送到其他人的仓库中。
我没有推(或拉)的权限。
所有者/合作者具有权限。他们既可以拉也可以推。我不能推。
因此,我要求他们从我这里进行拉取-间接意味着我正在要求他们接受我的请求。
因此,没有要求推送。只为拉。并接受推。
因此,“拉”请求。而不是“推送”请求。
为了更好地理解并永远记住它,您需要对其进行描绘。
想象一棵大的活树{作为您的仓库}。这棵树太坚固了,您不能将分支推入其中或在其中添加新的部分{象征创建一个新分支或在其中推入代码},相反,您必须要求树将分支拉入树干或将其插入树干。改变了你。
术语“拉取请求”来自分布式性质。不仅仅是将更改推送到存储库中(就像使用集中式存储库(例如,使用Subversion)一样),您还可以分别发布更改并要求维护人员提取更改。然后,维护人员可以查看所做的更改并执行“拉”操作。
因此,您基本上是“请求”那些具有要访问的回购的写入权限的人,然后从您的回购中“拉出”。
拉取请求可让您告诉其他人已推送到GitHub信息库中分支的更改。打开拉取请求后,您可以与协作者讨论和审查潜在的更改,并在更改合并到基础分支之前添加后续提交。 Github说明
这样想。 本地存储库与远程存储库。
git push
) -换句话说,远程存储库拉从你的代码(本地)。您正在要求一些东西。所以,问问自己
恐怕这些答案中的大多数都解决了这个问题,“拉动请求”是什么意思?或“推送请求”是什么意思?而不是OP的问题:为什么将其称为请求请求而不是请求请求?
通常,这种问题替换是可以接受的,但是在这种情况下,很明显,OP知道这些替换问题的答案,因此回答它们不是很有帮助。
只有GitHub上创造该术语的人才能确定。但是,很明显,该术语选择反映了类似以下有关“从外部进入存储库的更改”现象的观点:维护者执行操作(拉动)。
但是,请求也是一个动作,该动作的执行者不是维护者,而是提交者(谁做了更多的动作,即工作)。因此,“拉取请求”一词使人对代理人感到困惑。最终,由于请求的递归性质而引起混乱:请求既是主代理的动作,又是第二代理对将来动作的请求。
这种情况非常类似于现在常见的语言结构,例如“我们盖房子”(代替“我们付钱给别人盖房子”),主要行动的责任从明显的原始代理人转移到了履行管理社会角色的二级代理。
可以由此得出结论,术语选择的原因是管理工作是一流劳动的观点合法化。此外,对这种术语选择感到困惑的原因可能是非管理人员自然会有不同的观点。