# 如何创建合入请求(Pull Request) 本文档以 Apollo 项目为例,引导新手逐步熟悉创建代码合入请求(Pull Request)的步骤 。另,可参考[GitHub 页](https://help.github.com/articles/using-pull-requests/) 了解更多。 ## 第一步:创建您个人的 Apollo 代码分支 这可以通过点击[Apollo 的 GitHub 页](https://github.com/ApolloAuto/apollo) 右上角 的【Fork】按钮并按照其指引操作来完成。 ## 第二步:克隆您的 Apollo 分支仓库 注: > 请用您的 GitHub 用户名替换以下描述中的"YOUR_USERNAME"。 打开终端,输入以下任一命令: ``` # 使用 SSH 方式 git clone git@github.com:YOUR_USERNAME/apollo.git # 使用 HTTPS 方式 git clone https://github.com/YOUR_USERNAME/apollo.git ``` ## 第三步:设置您的用户名和电子邮件地址 ``` git config user.name "My Name" git config user.email "myname@example.com" ``` ## 第四步: 将 Apollo 官方仓库设为 upstream 上游分支 设置上游分支以便后续同步远端 upstream 分支的代码变更,这可以通过如下命令完成: ``` # 使用SSH git remote add upstream git@github.com:ApolloAuto/apollo.git # 使用 HTTPS git remote add upstream https://github.com/ApolloAuto/apollo.git ``` 通过如下命令查看 upstream 是否设置成功: ``` git remote -v ``` 如成功,则会显示如下的 remotes 列表: ``` origin git@github.com:YOUR_USERNAME/apollo.git (fetch) origin git@github.com:YOUR_USERNAME/apollo.git (push) upstream git@github.com:ApolloAuto/apollo.git (fetch) upstream git@github.com:ApolloAuto/apollo.git (push) ``` ## 第五步:创建分支,做出修改,提交变更 ``` git checkout -b my_dev origin/master # 在您的my_dev分支修复问题,添加新功能,等等 # ... # 将代码变动提交到您的本地分支,注意提交消息格式 git commit -m "[module] brief description of the changes" ``` ## 第六步:同步上游仓库变更 ``` git pull --rebase upstream master ``` ## 第七步:将您的本地修改推送到您个人的 Apollo 分支仓库 ``` git push -f -u origin my_dev ``` ## 第八步,生成代码合并请求 通过点击您的 Apollo 克隆 GitHub 页(通常 为https://github.com/YOUR_USERNAME/apollo) 上的"Pull Request" 按钮新建从 "YOUR_USERNAME/apollo:my_dev" 到 "Apolloauto/apollo:master" 的代码合并请求。 可参 考[GitHub 页:创建合并请求](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) 的描述来完成代码合并请求。 **注**: > 请不要忘了添加您的 PR 的描述。PR 描述可以帮助代码评审人员更好地理解您的代码变 > 更的意图。 作为开源项目,我们作为 Apollo 团队成员,很乐意评审并合入您提交的代码。但限于精力 ,可能您的 PR 从提交到合入需要花一些时间,请给我们一点耐心。 ## 最后:大功告成 感谢您的 PR!