跳到主要内容

如何提交 Pull Request

以下步骤将指导您设置机器,以便为 React Native 核心仓库做出贡献,并创建您的第一个 pull request。

序言:准备工作

您需要一些工具和依赖项才能构建和开发 React Native。这些内容已包含在环境搭建指南的 “使用原生代码构建项目” 部分中。

为了接受您的 pull request,我们需要您提交一份贡献者许可协议 (CLA)。您只需完成一次,即可参与 Meta 的任何开源项目。这只需一分钟,您可以在等待依赖项安装时完成。

第一章:欢迎来到开源世界

1. 安装 git

React Native 源代码托管在 GitHub 上。您可以通过 git 命令行程序与 git 版本控制进行交互。我们建议您按照 GitHub 的说明在您的机器上设置 git。

2. 获取源代码

虽然您可以在 GitHub 上浏览 React Native 的源代码,但我们建议您在本地机器上设置一个 fork。

  1. 访问 https://github.com/facebook/react-native
  2. 点击右上角的 “Fork” 按钮。
  3. 当被询问时,选择您的用户名作为此 fork 的宿主。

现在您将在 GitHub 上拥有一个 React Native 的 fork,地址为 https://github.com/your_username/react-native。接下来,您将在本地机器上获取源代码副本。打开 shell 并输入以下命令

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 上的终端应用程序或 Windows 上的 PowerShell 访问 shell。

将创建一个新的 react-native 目录,其中包含 React Native 核心仓库的内容。此目录实际上是 React Native git 仓库的克隆。它设置了两个远程仓库

3. 创建分支

我们建议在您的 fork 中创建一个新分支,以跟踪您的更改

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

第二章:实现您的更改

1. 安装依赖项

React Native 是一个由 Yarn Workspaces (Yarn Classic) 管理的 JavaScript monorepo。

运行项目级安装

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 Language Service 和其他编辑器设置。
  • Android Studio:打开仓库根文件夹(包含 .idea 配置目录)。
  • Xcode:打开 packages/rn-tester/RNTesterPods.xcworkspace

3. 运行您的更改

包 rn-tester 可用于运行和验证您的更改。您可以在 RNTester readme 中了解更多信息。

4. 测试您的更改

确保您的更改正确,并且不会引入任何测试失败。您可以在运行和编写测试中了解更多信息。

5. 代码检查

我们理解,要快速上手并了解 React Native 核心仓库中使用的每种语言的风格可能需要一段时间。开发人员不必担心细微的差别,因此,在可能的情况下,我们使用工具来自动化重写代码以遵循约定的过程。

例如,我们使用 Prettier 来格式化我们的 JavaScript 代码。这为您节省了时间和精力,因为您可以让 Prettier 通过其编辑器集成自动修复任何格式问题,或者手动运行 yarn run prettier

我们还使用 linter 来捕获代码中可能存在的样式问题。您可以通过运行 yarn run lint 来检查代码样式的状态。

要了解有关编码约定的更多信息,请参阅编码风格指南

6. 查看您的更改

许多流行的编辑器都以某种方式集成了源代码控制。您也可以在命令行上使用 git statusgit diff 来跟踪已更改的内容。

第三章:提议您的更改

1. 提交您的更改

确保使用 git 将您的更改添加到版本控制中

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

您可以使用简短的描述性句子作为您的提交消息。

注意

担心编写好的 git 提交消息?不必担心。稍后,当您的 pull request 被合并时,您的所有提交都将被压缩成一个提交。您的 pull request 描述将用于填充此压缩提交的消息。

本指南涵盖了足够的信息来帮助您完成您的首次贡献。GitHub 有一些资源可以帮助您开始使用 git

2. 将您的更改推送到 GitHub

一旦您的更改已提交到版本控制,您就可以将它们推送到 GitHub。

bash
git push fork <my_feature_branch>

如果一切顺利,您将看到一条消息,鼓励您打开一个 pull request

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:

访问提供的 URL 以继续下一步。

3. 创建您的 pull request

您快完成了!下一步是填写 pull request。使用一个不太长的描述性标题。然后,确保填写默认 pull request 模板提供的所有字段

  • 摘要: 使用此字段提供您发送此 pull request 的动机。您要修复什么?
  • 更新日志 通过简短描述 pull request 合并后将更改的内容,帮助发布维护人员编写发布说明。
  • 测试计划: 让 reviewers 知道您是如何测试您的更改的。您是否考虑过任何边缘情况?您遵循了哪些步骤来确保您的更改具有预期的效果?请参阅 什么是测试计划? 了解更多信息。

4. 审查并解决反馈

密切关注 GitHub 上 pull request 的任何评论和审查反馈。维护人员将尽力提供建设性的、可操作的反馈,以帮助您的更改准备好合并到 React Native 核心仓库中。