跳至主要内容

如何提交 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 并输入以下命令

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 访问 shell。

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

3. 创建分支

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

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

第二章:实现您的更改

1. 安装依赖项

React Native 是一个由Yarn 工作区 (Yarn Classic)管理的 JavaScript 单一仓库。

运行项目级安装

yarn

您还需要构建 react-native-codegen 包一次

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. 测试您的更改

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

4. 代码风格检查

我们理解,需要一段时间才能适应并了解 React Native 核心仓库中使用的每种语言的风格。开发人员无需担心细微的风格问题,因此在可能的情况下,我们使用工具来自动化将您的代码重写为遵循约定的过程。

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

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

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

5. 查看您的更改

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

第三章:提出您的更改

1. 提交您的更改

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

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

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

注意

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

本指南包含足够的信息来帮助您完成您的第一次贡献。GitHub 有许多资源可以帮助您开始使用 git

2. 将您的更改推送到 GitHub

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

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 被合并,将发生哪些更改。
  • **测试计划:**让审阅者了解您如何测试您的更改。您是否考虑了任何极端情况?您遵循哪些步骤来确保您的更改产生预期效果?查看什么是测试计划?以了解更多信息。

4. 审查并解决反馈

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