貢獻變更

本指南說明如何將貢獻內容提交至 Fuchsia 專案。

Fuchsia 透過 Gerrit 的網頁 UI。上傳修訂版本時 稱為「變更」

如要做出對 Fuchsia 的變更,操作步驟如下:

  1. 必要條件
  2. 在 Gerrit 中建立變更
  3. 申請程式碼審查
  4. 追蹤程式碼審查
  5. 提交變更

1. 必要條件

開始設定前,請務必完成下列事項:

簽署 Google CLA

請完成下列步驟:

  1. 前往 Google Developers 貢獻者授權協議 頁面。
  2. 代表「僅限您本人」或「您的雇主」簽署協議。

請完成下列步驟:

  1. 登入 Gerrit
  2. 前往 https://fuchsia.googlesource.com.
  3. 按一下頁面頂端的「產生密碼」
  4. 複製產生的程式碼,然後在工作站的終端機中執行。

2. 在 Gerrit 中進行變更

如要在 Gerrit 中進行變更,請執行下列步驟:

  1. 前往 Fuchsia 目錄,例如:

    cd ~/fuchsia
    
  2. 建立新的分支版本:

    git checkout -b <branch_name>
    
  3. 在新的分支版本中建立或編輯檔案。

  4. 新增更新的檔案:

    git add <files>
    
  5. 提交已更新的檔案並寫入修訂訊息

    git commit
    
  6. 將修訂版本上傳至 Gerrit:

    git push origin HEAD:refs/for/main
    

    如要進一步瞭解如何上傳變更,請參閱 Gerrit 說明文件

3. 申請程式碼審查

建立變更後,如要申請程式碼審查,請按照下列步驟操作:

  1. 前往 Fuchsia Gerrit 資訊主頁
  2. 在「公開審查」部分,按一下變更內容。
  3. 按一下「新增審查者」
  4. 依電子郵件地址新增評論者。

    您可以參照 OWNERS 檔案,檔案位於 請在你或另一位家長的陪同下 審查內容進一步瞭解 Fuchsia 擁有者,請參閱擁有者一文。

  5. 按一下「傳送」

4. 追蹤程式碼審查情形

如要追蹤程式碼審查進度,請使用 Gerrit 的網頁 UI。 (如需進一步瞭解如何使用 Gerrit 程式碼審查工具,請參閱 檢閱 UI)。

針對變更提出程式碼審查要求後,審查員可以評分 變更。審查人員可透過 分數為 -2、-1、0、+1 或 +2。(如要進一步瞭解 查看標籤定義,請參閱 Gerrit Code Review - Review Labels)。 您需要提供程式碼審查標籤 +2,才能提交變更。 只有目錄擁有者才能套用代碼審查標籤 +2 分數。

如需在審查期間更新變更內容,請參閱 建立並上傳修補程式 (或者 請參閱附錄中的「解決合併衝突」一節。

解決註解

評論者可能會針對 必須先更新程式碼,他們才能核准你的變更 一般而言,建議只在下列情況下勾選註解旁的 [已解決] 核取方塊 你確定審查人員能夠找到你可接受的更新內容。如果 審核者是否同意您的更新內容。 不要勾選「已解決」核取方塊。

5. 提交變更

存放區擁有者套用 要變更的程式碼審查標籤 +2。提交變更後,變更 提交至修訂版本佇列 (CQ)。修訂佇列會驗證並 會將變更合併至 main 分支版本。

只有具備修訂版本存取權的貢獻者可以直接透過以下方式提交程式碼: 例如 Gerrit 介面。一般成員必須詢問委員會 並提交適用的程式碼

附錄

建立及上傳修補程式

建立變更後,如要將修補程式上傳至變更,請按照下列步驟操作:

  1. 在同一分支版本中建立或編輯檔案。
  2. 新增更新的檔案:

    git add <updated_files>
    
  3. 使用 --amend 選項,將修補程式納入同一個修訂版本:

    git commit --amend
    
  4. 將修補程式上傳至 Gerrit:

    git push origin HEAD:refs/for/main
    

解決合併衝突

當 Gerrit 警告您的變更發生合併衝突時,請進行以下操作:

  1. origin/main 重新計算,找出導致合併的檔案 衝突:

    git rebase origin/main
    
  2. 請編輯這些檔案以解決衝突,然後新增更新過的檔案:

    git add <files_with_resolved_conflicts>
    
  3. 完成重設:

    git rebase --continue
    
  4. 使用 --amend 選項提交已更新的檔案:

    git commit --amend
    
  5. 將修補程式上傳至 Gerrit:

    git push origin HEAD:refs/for/main
    

刪除本機分支版本

提交變更後,您可以刪除本機分支版本:

git branch -d <branch_name>

撰寫變更訊息

撰寫變更訊息時,請遵循 Commit 訊息樣式 指南

管理涵蓋多個存放區的變更

若要瞭解如何管理橫跨不同存放區 (花瓣) 的變更, 請查看以下頁面:

詳情請參閱「原始碼版面配置」 Fuchsia 存放區結構的詳細資訊。