如何提交 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。
- 访问https://github.com/facebook/react-native。
- 点击右上角的“Fork”按钮。
- 当被询问时,选择您的用户名作为此 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 仓库的克隆。它设置了两个远程仓库
origin
用于上游https://github.com/facebook/react-native仓库fork
用于您自己的 GitHub 帐户上的 React Native 的 fork。
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 status
和 git 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 核心仓库中。