跳至主内容

如何提交拉取请求

非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

本指南将详细介绍如何配置本地环境以贡献核心 React Native 仓库代码,并创建您的第一个拉取请求。

序幕:准备工作

构建和开发 React Native 需要若干工具和依赖项,这些内容已在环境配置指南的"使用原生代码构建项目"章节中详细说明。

为接受您的 pull request,需要您签署贡献者许可协议(CLA)。您只需签署一次即可参与 Meta 任何开源项目。该过程仅需一分钟,可在安装依赖时完成。

第一章:走进开源世界

1. 安装 git

React Native 源代码托管在 GitHub 平台。您可通过 git 命令行工具与版本控制系统交互。建议遵循 GitHub 官方指南在本地设备配置 git。

2. 获取源代码

虽然您可以直接在 GitHub 浏览 React Native 源代码,但我们建议您在本地设备创建代码分支。

  1. 访问 https://github.com/facebook/react-native

  2. 点击右上角的 "Fork" 按钮

  3. 出现提示时,选择您的用户名作为该分支的托管账户

现在您将在 GitHub 上拥有自己的 React Native 分支,地址为 https://github.com/your_username/react-native. 接下来请获取源代码到本地设备:打开终端并执行以下命令:

bash
git clone https://github.com/facebook/react-native.git
cd react-native
git remote add fork https://github.com/your_username/react-native.git
备注

若您对上述操作感到陌生,无需担心。在 macOS 和 Linux 上可通过 Terminal 应用访问终端,Windows 则使用 PowerShell。

此时将创建包含核心 React Native 仓库内容的新 react-native 目录。该目录实质上是 React Native git 仓库的克隆副本,配置了两个远程源:

3. 创建分支

建议在您的分支中创建新分支以跟踪代码变更:

bash
git checkout -b my_feature_branch --track origin/main

第二章:实施变更

1. 安装依赖项

React Native 是采用 Yarn Workspaces (Yarn Classic) 管理的 JavaScript 单体仓库。

执行项目级安装:

sh
yarn

您还需单独构建一次 react-native-codegen 包:

sh
yarn --cwd packages/react-native-codegen build

2. 修改代码

现在可使用任意代码编辑器打开项目。Visual Studio Code 在 JavaScript 开发者中广受欢迎,若您要对 React Native 进行通用修改,我们推荐使用该编辑器。

IDE 项目配置指南:

  • VS Code:打开 react-native.code-workspace 文件,该操作将自动安装推荐扩展并正确配置 Flow 语言服务等编辑器设置

  • Android Studio:打开包含 .idea 配置目录的仓库根文件夹

  • Xcode:打开 packages/rn-tester/RNTesterPods.xcworkspace

3. 运行变更

rn-tester 包可用于运行和验证您的更改。更多信息请参阅 RNTester 自述文件

4. 测试您的更改

请确保修改正确且不会引入测试失败。更多信息请参阅运行和编写测试

5. 代码规范检查

我们理解您可能需要时间熟悉 React Native 核心仓库中各种语言的代码规范。开发者无需担心细微的格式问题,因此我们尽可能使用自动化工具来重构代码以符合规范。

例如,我们使用 Prettier 格式化 JavaScript 代码。您可以通过编辑器插件自动修复格式问题,或手动运行 yarn run prettier 命令。

我们还使用 linter 检查代码中的规范问题。运行 yarn run lint 可检查代码规范状态。

更多编码规范请参考代码风格指南

6. 查看更改内容

许多流行编辑器都集成了源代码管理功能。您也可以在命令行使用 git statusgit diff 来跟踪变更。

第三章:提交修改提案

1. 提交更改

使用 git 将更改添加到版本控制:

bash
git add <filename>
git commit -m <message>

提交说明请使用简短描述性语句。

备注

担心不会写规范的 git 提交说明?请放心,合并拉取请求时所有提交会被压缩成单个提交,届时将使用您的拉取请求描述作为压缩提交的说明。

本指南已涵盖首次贡献所需的关键信息。GitHub 还提供以下资源帮助您入门 git:

2. 推送更改到 GitHub

提交到版本控制后,您就可以将更改推送到 GitHub。

bash
git push fork <my_feature_branch>

成功后终端会显示一条鼓励你打开拉取请求的消息:

remote:
remote: Create a pull request for 'your_feature_branch' on GitHub by visiting:
remote: https://github.com/your_username/react-native/pull/new/your_feature_branch
remote:

访问显示链接继续下一步。

3. 创建拉取请求

即将完成!请填写拉取请求表单:

  • 标题:使用简洁的描述性标题

  • 内容:完整填写默认模板的所有字段:

  • 概要:说明修改动机和解决的问题

  • 更新日志:提供合并后变更的简短描述,协助发布维护者编写版本说明

  • 测试方案:向评审者说明测试方法。是否考虑了边界情况?如何验证修改效果?参考什么是测试方案?了解更多

4. 处理评审反馈

请密切关注 GitHub 上您的拉取请求中留下的所有评论和审核反馈。维护人员将尽力提供具有建设性且可操作的反馈,帮助您完善更改,使其能够顺利合并到核心 React Native 仓库中。