拉请求是Git概念吗?

时间:2019-02-13 11:11:32

标签: git github bitbucket

“拉动请求”是Git的核心概念,还是GitHub和Bitbucket等Git托管平台提供的增值服务?

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

1 个答案:

答案 0 :(得分:8)

是,(主要是)否。

拉取请求未存储在git中。它们由托管平台(例如GitHub)实施。但是git的分布式设计是为了处理pull请求的存在而建立的,无论使用哪种机制来实现该请求。

其他SCM(例如SVN)无法轻易允许未知的第三方进行更改,然后将这些更改提交以供批准。 Git是为开放源代码软件设计的,任何人都可以贡献力量,但是这些贡献需要得到批准。因此,Git通过允许诸如以下的工作流程来规避限制:

  • (任何人)未知的第三方都可以克隆具有只读公共访问权限的存储库。
  • 然后该第三方可以进行更改,并(例如)托管自己的公共只读存储库。
  • 然后第三方可以(例如)向原始所有者发送电子邮件,说“嗨,请添加我的更改,这些更改托管在这里:...”
  • 原始所有者可以根据需要手动拉出更改。

“拉取请求”只是一封电子邮件。

托管平台(例如GitHub)已经正式化了请求请求,但也将它们限制为完全托管在该平台上。

这一切都没有在git存储库本身中实现,但是这个概念是Git设计的核心。