什么是拉请求?

一种拉出请求- 也称为合并请求 - 是在贡献者/开发人员准备好与主项目存储库中合并新代码更改的过程时发生软件开发中的事件。

项目的存储库(或“repo”)是所有项目代码,产品知识,元数据以及存储更多数据/信息的位置。存储库维护者/经理是一个人devops或运营团队谁负责维护所述存储库。他们负责将哪些更新与最终项目合并,最终可用于最终用户。

在拉出请求期间,存储库维护者审查开发人员的新代码更新以确定它是否已准备就绪。如果没有拉拔请求,无法使用主存储库和中断或突破或导致实时产品的问题。拉请求通过仅合并已适当审查和批准的合并代码确保产品的完整性和用户体验。

除了保护主项目存储库之外,还会在研究新产品更新时鼓励协作和开放通信。当有人完成新功能时,他们还有助于通过突出显示和通知团队来帮助队伍。

提出请求如何工作?

通过允许开发人员创建新功能或壁球错误而不影响主要项目代码或用户看到的内容,可以使用拉拔请求。这样,他们能够在本地编写和测试代码,而无需担心破坏整体产品。

拉请求遵循基本五步过程:

  • Fork Main存储库并创建本地克隆。首先,开发人员创建主存储库的叉,然后将其克隆到其本地计算机上。
  • 在本地进行必要的变化。然后,开发人员能够对代码进行所需的更改或添加,无论是如何解决问题或新功能。
  • 将本地更改推入叉子存储库。开发人员已完成并测试新代码的更改后,将这些更改推回到在步骤1中创建的叉子存储库。
  • 拔出。这是实际拉动请求发生的地方!在请求拉出请求后,警告主存储库维护者进行审核。然后,维护者将审查开发人员分叉存储库中所做的工作,然后发表任何意见或请求需要进行批准的任何编辑。
  • 然后,任何编辑都会向开发人员发送回开发人员,以获取可能需要的其他提交(对代码的更改)。
  • 如果不需要编辑,则维护者批准拉出请求。
  • 与主要项目合并。一旦存储库维护者批准了Pull请求,开发人员在分叉存储库中的新更新就会与主项目存储库合并。然后使用新功能或错误修复更新产品,现在可以通过最终用户查看。

在某些情况下,开发人员还可以对尚未完成的功能或更新进行拉拔请求。这样,如果开发人员陷入了他们一直在努力的新更新,他们现在可以从其他团队成员获得反馈并通过可能的解决方案工作。

在任何一种情况下,使用拉拔请求确保在与主存储库合并之前已经彻底审查并批准了给定项目的任何新更新。这有助于防止未来的问题并确保无缝用户体验停机时间

创建拉索请求

创建拉拉请求可能因基于组织而异正在使用的工具以及存储库的类型(例如:github,bitbucket等)。但是,创建拉出请求通常涉及相同的三个元素:

起草

创建拉拉请求时,开发人员将首先以草稿开头。在这里,他们将能够标题,并简要描述其代码更改。它们需要包含有关更新类型的信息(无论是新功能还是错误修复)以及其源存储库/分支和目标存储库/分支。

在开发人员将其标记为准备审核之前,无法合并拉出请求。

合并

一旦开发人员提交的拉动请求已被存储库维护者批准,就会发生合并。在合并之前,存储库维护者需要查看开发人员已完成的工作。它们会对任何问题发表评论,并根据需要请求开发人员的编辑。一旦进行了任何和所有更新,存储库维护者然后可以安全地将更新与主项目存储库合并,使其成为最终用户的目标。

更新

如果存储库维护者在合并之前需要对代码更新进行任何更改,则会通过开发人员提醒和提供任何注释或反馈以修复问题。开发人员已解决此问题后,他们可以使用新的提交更新拉请求,以供进一步审核和批准。

拉请求模板

可以创建和存储拉动请求模板,以帮助加快进程,并确保所有团队成员之间的一致性。创建拉拉请求模板时,重要的是包含:

  • 代码更新摘要:这是一个错误修复还是新功能?总结使用此新代码更新完成的内容。
  • 单元测试用例:此代码更新是否在所有设备和浏览器中测试?

Pull请求模板的具体细节将根据您的组织使用的存储库而异。不同的工具具有不同的功能和选项,为您的团队提供微风。

拉出请求的示例

现在我们经历了拉出请求是什么以及它们的工作方式,让我们看一下可能的拉动请求。

  1. Russell是一家软件公司的开发人员,该公司具有一个移动应用程序,可让用户评价并查看不同的葡萄酒。
  2. Russell需要创建一个新功能,允许用户突出显示其“五藏葡萄酒”
  3. 要开始在这个新功能上工作,Russell首先创建了一个主要存储库的叉子,并将其克隆到他的本地机器上。
  4. Russell然后在本地开发这种新功能。
  5. 完成后,Russell可以将他的代码更新推送给他创建的叉子存储库。
  6. 现在拉塞尔可以创造一个拉索请求!
  7. 提交提交请求后,Erica(存储库维护者)被警告开始查看Russell的新代码更新。
  8. 然后,埃里卡可以根据需要请求来自Russell的任何后续提交。
  9. 何时进行任何和所有更改请求,Erica将批准Russell的Pull请求。
  10. 然后,Russell的新更新将与主项目存储库合并,并且应用用户现在可以使用新的应用程序功能开始。

要了解有关PageRduty如何帮助增强软件开发生命周期的更多信息,给我们一个电话开始14天免费试用- 不需要信用卡。

Baidu