如何提交拉取请求
这些说明提供了分步过程,以设置您的机器,以便为核心 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”按钮。
- 当被要求时,选择您的用户名作为此派生的主机。
您现在将在 GitHub 上拥有一个 React Native 的派生,网址为 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 派生。
3. 创建一个分支
我们建议在您的派生中创建一个新分支来跟踪您的更改:
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 语言服务和其他编辑器设置。 - Android Studio: 打开仓库根文件夹(包含
.idea
配置目录)。 - Xcode: 打开
packages/rn-tester/RNTesterPods.xcworkspace
。
3. 运行您的更改
rn-tester
包可用于运行和验证您的更改。您可以在 RNTester readme 中了解更多信息。
4. 测试您的更改
确保您的更改正确无误,并且不会引入任何测试失败。您可以在运行和编写测试中了解更多信息。
5. 代码规范
我们理解,要熟悉核心 React Native 仓库中使用的每种语言的代码风格并适应它可能需要一段时间。开发者不应该担心细枝末节,因此我们尽可能使用工具来自动化代码重写过程,使其符合约定。
例如,我们使用 Prettier 来格式化我们的 JavaScript 代码。这为您节省了时间和精力,因为您可以通过其编辑器集成或手动运行 yarn run prettier
让 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 仓库中。