PR 让开发者能够编写源代码并在本地测试。由于代码更改与主分支隔离,开发者无需担心破坏整个代码库。
拉取请求方法涉及三个关键角色,这些角色主要适用于开源项目,但也可被专有或闭源项目采用:
维护者:项目维护者管理(并且通常拥有)项目,有权批准并合并 PR 或拒绝它们。
评审者:这些团队成员(他们本身可以是维护者,也可以是项目中经验丰富的其他活跃贡献者)对建议的更改进行代码质量评审,并根据需要提出改进建议。
贡献者:这些开发者负责进行更改并发起拉取请求。
创建拉取请求通常包含七个步骤:
每个新特性都有自己专用的分支,并使用描述性名称来突出该特性的目的。特性完成后,开发者可以将特性分支推送到主分支并创建拉取请求。
该工作流在贡献者独立开发各个特性时保持了主分支的稳定性,但管理多个特性分支可能会变得笨拙。
软件工程师 Vincent Driessen 于 2010 年制定了 git-flow。它通常用于具有严格发布计划或需要支持多个版本的软件开发。
此工作流遵循由以下分支组成的分支模型:
开发者需要对需要评审的
拉取请求具有以下优势:
培养协作
提高代码质量
增加透明度
强化编码技能
拉取请求促进合作,鼓励团队成员无论其角色如何都能一起工作。PR 有助于提供反馈并学习如何处理反馈,激发讨论并引发改进的思路。
拉取请求让团队能够看到实现了哪些更改、由谁实现、应用在何处以及背后的原因。这种可见性使团队更好地了解代码库以及项目本身的状态。
评审者和贡献者都可以互相学习,在此过程中掌握新技术,发现解决问题的新方法。新手和新团队成员也可以研究以往的 PR,从而更好地理解代码库,并快速掌握团队的编码标准和最佳实践。
获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明。
虽然创建拉取请求看起来很简单,但以下一些技巧可以进一步使流程更顺畅:
考虑草稿
细节决定成败
保持专注
关注最新动态
使用模板
草稿拉取请求(或合并请求)为开发者提供了一种分享进行中工作的途径。这使得团队成员能够更早开始协作并更早获得反馈,从而让遇到问题的开发者可以从队友那里集思广益,找到可能的解决方案。
开发者必须为其新提交提供清晰、简洁且具体的消息。清晰、简洁和具体也同样适用于 PR 的标题和描述,使评审者能够更快、更轻松地理解代码更改背后的意图。
将多个问题捆绑到单个 PR 中会导致更长的评审时间和更多的修订。每个拉取请求应只针对一个缺陷修复或一个特性。有针对性的拉取请求能够带来更高效的代码评审。
在推送代码并发起 PR 之前,开发者必须确保其分支是最新的。拉取最新的更改和任何新提交可以避免合并拉取请求时出现冲突。他们可以使用
像 Jira 和 IBM Engineering Lifecycle Management (ELM) 这样的平台支持在整个软件开发生命周期 (SDLC) 中跟踪和管理拉取请求。
作为 ELM 套件的一部分,IBM Engineering Workflow Management (EWM) 和 IBM Engineering Integration Hub 将 PR 自动化直接嵌入到开发工作流中。EWM 可以通过 Hub 的连接器与 Git 存储库连接,并从工作项触发 PR 创建。当 EWM 中的需求或变更请求被批准后,一条规则可以自动在关联的 Git 存储库中打开一个拉取请求,并预填充描述。
ELM 中由 AI 驱动的自动化也可以在 PR 打开后运行静态分析和测试套件,将结果发布回工作项,并阻止合并直到满足条件。同时,Hub 会跨工具同步 PR 状态,在存储库和 EWM 仪表板中实时反映该状态。
借助您的 AI 合作伙伴 Bob,加速软件交付,实现安全的意图感知型开发。
利用可信的 AI 驱动型工具优化软件开发工作,最大限度地减少编写代码、调试、代码重构或代码补全的时间,从而拓展创新空间。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策能力和商业价值。