如何提交拉取请求
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
本指南将详细介绍如何配置本地环境以贡献核心 React Native 仓库代码,并创建您的第一个拉取请求。
序幕:准备工作
构建和开发 React Native 需要若干工具和依赖项,这些内容已在环境配置指南的"使用原生代码构建项目"章节中详细说明。
为接受您的 pull request,需要您签署贡献者许可协议(CLA)。您只需签署一次即可参与 Meta 任何开源项目。该过程仅需一分钟,可在安装依赖时完成。
第一章:走进开源世界
1. 安装 git
React Native 源代码托管在 GitHub 平台。您可通过 git 命令行工具与版本控制系统交互。建议遵循 GitHub 官方指南在本地设备配置 git。
2. 获取源代码
虽然您可以直接在 GitHub 浏览 React Native 源代码,但我们建议您在本地设备创建代码分支。
-
点击右上角的 "Fork" 按钮
-
出现提示时,选择您的用户名作为该分支的托管账户
现在您将在 GitHub 上拥有自己的 React Native 分支,地址为 https://github.com/your_username/react-native. 接下来请获取源代码到本地设备:打开终端并执行以下命令:
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。
此时将创建包含核心 React Native 仓库内容的新 react-native 目录。该目录实质上是 React Native git 仓库的克隆副本,配置了两个远程源:
-
origin对应上游仓库 https://github.com/facebook/react-native -
fork对应您个人 GitHub 账户的分支仓库
3. 创建分支
建议在您的分支中创建新分支以跟踪代码变更:
git checkout -b my_feature_branch --track origin/main
第二章:实施变更
1. 安装依赖项
React Native 是采用 Yarn Workspaces (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. 运行变更
rn-tester 包可用于运行和验证您的更改。更多信息请参阅 RNTester 自述文件。
4. 测试您的更改
请确保修改正确且不会引入测试失败。更多信息请参阅运行和编写测试。
5. 代码规范检查
我们理解您可能需要时间熟悉 React Native 核心仓库中各种语言的代码规范。开发者无需担心细微的格式问题,因此我们尽可能使用自动化工具来重构代码以符合规范。
例如,我们使用 Prettier 格式化 JavaScript 代码。您可以通过编辑器插件自动修复格式问题,或手动运行 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:
访问显示链接继续下一步。
3. 创建拉取请求
即将完成!请填写拉取请求表单:
-
标题:使用简洁的描述性标题
-
内容:完整填写默认模板的所有字段:
-
概要:说明修改动机和解决的问题
-
更新日志:提供合并后变更的简短描述,协助发布维护者编写版本说明
-
测试方案:向评审者说明测试方法。是否考虑了边界情况?如何验证修改效果?参考什么是测试方案?了解更多
4. 处理评审反馈
请密切关注 GitHub 上您的拉取请求中留下的所有评论和审核反馈。维护人员将尽力提供具有建设性且可操作的反馈,帮助您完善更改,使其能够顺利合并到核心 React Native 仓库中。