跳到主要內容

如何開啟 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 並輸入以下命令

bash
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 上的「終端機」應用程式或 Windows 上的 PowerShell 存取 shell。

將會建立一個新的 react-native 目錄,其中包含核心 React Native 儲存庫的內容。此目錄實際上是 React Native git 儲存庫的副本。它設定了兩個遠端

3. 建立分支

我們建議在您的 fork 中建立一個新分支,以追蹤您的變更

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

第二章:實作您的變更

1. 安裝相依性

React Native 是一個由 Yarn Workspaces (Yarn Classic) 管理的 JavaScript monorepo。

執行專案層級安裝

sh
yarn

您還需要建置 react-native-codegen 套件一次

sh
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 statusgit diff 來追蹤已變更的內容。

第三章:提案您的變更

1. 提交您的變更

請務必使用 git 將您的變更新增至版本控制

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

您可以使用簡短的描述性句子作為您的提交訊息。

注意

擔心編寫良好的 git 提交訊息嗎?別擔心。稍後,當您的 pull request 被合併時,您的所有提交將被壓縮成單一提交。您的 pull request 描述將用於填寫此壓縮提交的訊息。

本指南涵蓋了足夠的資訊,可協助您完成您的第一個貢獻。GitHub 有幾個資源可協助您開始使用 git

2. 將您的變更推送到 GitHub

一旦您的變更已提交到版本控制,您就可以將它們推送到 GitHub。

bash
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 儲存庫中。