“Pull Request”是一个Git概念吗?

6

“Pull request”是Git的核心概念还是由Git托管平台(如GitHub和Bitbucket)提供的附加值?

讨论数据是存储在云主机的专有平台上还是存储在更通用的Git中?


1
由Git托管平台提供。从一般意义上讲,Git不知道拉取请求。Git在推送时会输出来自托管平台的响应,这使得许多人误以为Git理解拉取请求,因为它在推送分支时提供了创建拉取请求的URL,但这只是远程响应的一部分。 - Lasse V. Karlsen
1个回答

9
是和否都有,但主要是不会。
拉取请求并不存储在git中,它们是由托管平台(如GitHub)等实现的。然而,git的分布式设计旨在处理拉取请求的存在,无论使用何种机制来实现该请求。
其他SCM(例如SVN)不能轻松地允许未知的第三方进行更改,然后提交这些更改以供批准。Git是为开源软件设计的,任何人都可以贡献代码,但这些贡献需要得到批准。因此,Git通过允许以下工作流程来解决限制:
1.具有只读公共访问权限的仓库可以被克隆(任何人)一个未知的第三方。
2.然后,该第三方可以进行更改,并(例如)托管自己的公共只读存储库。
3.然后,第三方可以(例如)通过电子邮件告诉原始所有者“嗨,请添加我的更改,它们托管在这里:...”
4.如果原始所有者喜欢这些更改,他们可以手动拉取更改。
在这里,“拉取请求”只是一封电子邮件。
像GitHub这样的托管平台已经正式化了拉取请求,但也将其限制为完全托管在该平台上。
所有这些都没有在git存储库本身中实现,但这个概念是Git设计的核心。

1
git命令git request-pull可以帮助格式化用于拉取请求的电子邮件。 - A.H.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接