如何開啟 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 上的「終端機」應用程式或 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 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 提交訊息嗎?別擔心。稍後,當您的 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 儲存庫中。