跳到正文

合并请求

Pull Request

中级通用

合并请求(Pull Request)是在代码托管平台上,提议把一个分支的改动合入另一个分支的协作记录。它让团队在合入前集中查看差异、讨论问题和运行检查,例如先审查网站的登录页改动,再决定是否合入主分支。

你可能会说:「我改好了登录页,想让同事先看代码和测试结果,确认没问题再放进主分支。」

读之前建议先了解

动手看看

main当前所在 HEADfeature/signup添加注册入口main · HEAD
1

产品已经有一个注册入口,你现在在 main 上。接下来要做注册表单,但先不直接改主分支。

要点

  1. 1

    先明确从哪里合到哪里

    你通常先在自己的分支完成改动并推送到远程仓库,再选定来源分支和目标分支创建合并请求。比如把 login-page 分支的改动提议合入 main;目标分支选错了,审查范围也会跟着变。

  2. 2

    把改动和讨论放在一起

    合并请求会展示相关提交与文件差异,也能写清改了什么、怎么验证。审查者看到问题时可以针对代码留言;你继续推送修改后,讨论和新的改动仍留在同一个合并请求里。

  3. 3

    检查通过也不等于已合入

    平台可能在合并请求上显示测试和代码规范检查结果,团队也可能要求有人审查。它们帮助我们判断能否合入,但创建合并请求本身不会把代码合进目标分支;最后还需要执行合并操作。

容易混淆的地方

提交是把一次改动记录到分支上;合并请求是提议把分支改动合入目标分支,并提供审查与讨论的地方。合并则是实际把改动整合进去的操作。合并请求不是 Git 自带的命令,而是 GitHub、GitLab 等代码托管平台提供的协作功能;不同平台的名称和流程可能略有区别。

什么时候用

适合用

  • 你和同事一起做网站,登录页改动已经推送到功能分支,想让对方看过差异再合入主分支。
  • AI Agent 改了后台接口,你想集中查看它改动了哪些文件、测试是否通过,再决定是否接受。
  • 一个功能分几次提交完成,你想把验收说明、审查意见和后续修正留在同一处。

不适合用

  • 你只是想在本地保存当前进度,还没有提出合入别的分支;这时用 Git 提交就够了。
  • 你只是想把远程仓库已有的更新拿到本地继续开发;这时用拉取,不需要创建合并请求。
  • 你想让已经合入的版本出现在生产环境;这属于部署上线,合并请求不能代替发布流程。

练一练

AI Agent 在 feature/search 分支完成了网站搜索功能并推送到远程。你想先让同事检查改动和测试结果,再决定是否放进 main。下一步选什么?

让 AI 帮你做

请在 feature/search 分支完成网站搜索功能,提交并推送改动。不要直接合入 main;请创建一个指向 main 的合并请求,写明改动范围、验证步骤和仍需人工确认的地方,并告诉我检查结果。

接下来学什么