審閱 Pull Requests#

使用工作流程功能#

當審閱 pull requests 時,請適當地使用 Github 上的工作流程追蹤功能

  1. 在您完成審閱,並想要要求提交者進行變更之後

    • 將您的審閱狀態變更為 “要求變更”。

      這可以在 Github、PR 頁面、Files changed 標籤頁、Review changes (右上角的按鈕) 上完成。

    • 或者:新增 needs-work 標籤。

      這可以在 PR 頁面右側的 Labels 選單中完成。

  2. 當您再次重新審閱同一個 pull request,並想要要求更多變更時

    • 再次執行 “要求變更” 的動作,即使之前的狀態也是 “要求變更”。

    • 或者:移除現有的 needs-work 標籤,然後再次重新新增該標籤。(Github 會在頁面上新增您已執行此操作的通知。)

  3. 如果您對目前的狀態感到滿意

    • 將 pull request 標記為「已核准」(與「要求變更」的方式相同)。

    • 或者:移除 needs-work 標籤。

    • 或者 (針對核心開發者):如果您認為 pull request 已準備好合併,則合併它。

這允許自動追蹤哪些 PR 需要關注。

某些資訊也可以直接在 Github 上看到,儘管 (截至 2019 年 8 月) Github 不會顯示哪些 pull requests 在上次審閱後已更新。

來自 pull request 的程式碼#

當您審閱其他人建立的 pull request 時,在您自己的機器上擁有他們的程式碼副本會很有幫助,這樣您就可以在本地端進行操作。

一種方法是安裝 GitHub CLI,然後在終端機中導航至 SciPy 根目錄並輸入

gh pr checkout PULL_REQUEST_ID

其中 PULL_REQUEST_ID 是與 pull request 對應的五位數字 (例如 10286,對於 PR #10286)。這會立即將 pull request 簽出到一個分支,其名稱與 PR 作者使用的名稱相符。

假設您依照 從原始碼建置 設定了您的開發環境,您現在可以啟用您的開發環境

conda activate scipy-dev

建置程式碼並測試它

python dev.py test -v

如果您從 IPython 內 import SciPy (使用 python dev.py ipython 啟動它),您將匯入作者修改後的 SciPy 版本。

如果您想與作者協作處理他們的 PR,您可能反而想要為作者的 SciPy 分支設定新的遠端

git remote add REMOTE_NAME https://github.com/AUTHOR/scipy.git

其中 AUTHOR 是作者的 GitHub 使用者名稱,而 REMOTE_NAME 是您想要用來指稱此作者儲存庫的任何名稱。

從那裡,您可以檢視作者的分支

git remote show REMOTE_NAME

並根據其中一個分支建立您自己的分支

git checkout --track REMOTE_NAME/BRANCH_NAME

其中 BRANCH_NAME 是您想要從哪個分支開始的名稱。這會在您的本地儲存庫中建立此分支的副本 (具有相同的名稱)。如果您對此分支進行變更並推送到您的 GitHub 儲存庫 (origin),那麼您可以建立一個 pull request,將您的變更與作者的儲存庫合併。