如何提交拉取请求
这些说明提供了在您的计算机上为 React Native 核心存储库做出贡献并创建您的第一个拉取请求的循序渐进的过程。
序言:准备工作
您需要一些工具和依赖项来构建和开发 React Native。这些内容已包含在“环境设置”指南的“使用原生代码构建项目”部分中。
为了接受您的拉取请求,我们需要您提交一份贡献者许可协议 (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 -b my_feature_branch --track origin/main
第二章:实现您的更改
1. 安装依赖项
React Native 是一个由 Yarn Workspaces (Yarn Classic) 管理的 JavaScript monorepo。
运行项目级别的安装:
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 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 status 和 git diff 来跟踪已更改的内容。
第三章:提交您的更改
1. 提交您的更改
确保使用 git 将您的更改添加到版本控制中。
git add <filename>
git commit -m <message>
您可以将一个简短的描述性句子用作您的提交消息。
担心写好的 git 提交消息?不用担心。稍后,当您的拉取请求被合并时,您所有的提交都将被压缩成一个提交。您提交的说明将用于填充此压缩提交的消息。
本指南涵盖了足够的信息,可以帮助您完成第一次贡献。GitHub 提供了多个资源来帮助您开始使用 git:
2. 将您的更改推送到 GitHub
一旦您的更改被提交到版本控制,您就可以将它们推送到 GitHub。
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:
访问提供的 URL 继续下一步。
3. 创建您的拉取请求
您快到了!下一步是填写拉取请求。使用一个具有描述性的、不太长的标题。然后,请务必填写默认拉取请求模板提供的所有字段。
- 摘要:使用此字段说明您提交此拉取请求的动机。您在修复什么?
- 更新日志:通过提供应在拉取请求合并后进行的更改的简短描述,帮助发布维护者编写发布说明。
- 测试计划:让审查者知道您如何测试您的更改。您是否考虑了任何边缘情况?您遵循了哪些步骤来确保您的更改产生了预期的效果?有关更多信息,请参阅什么是测试计划?。
4. 审查和处理反馈
请密切关注 GitHub 上拉取请求的任何评论和审查反馈。维护者将尽最大努力提供建设性、可行的反馈,以帮助您的更改准备好合并到 React Native 核心存储库中。