Home 程式語言軟體開發知識庫使用 GitHub 當作小型團隊的開發中心

使用 GitHub 當作小型團隊的開發中心

by George

我們可以透過 GitHub 的私有儲存庫 (Private Repository) 與權限控管來設定符合需求的環境

確切的來說我們只要執行兩個主要步驟:
1. 管理「協作者 (Collaborators)」的權限:這能精確控制誰可以「修改」程式碼
2. 將儲存庫 (Repository) 設為「私有 (Private)」:這能確保非團隊人員「無法觀看」

首先我們要知道 repository(儲存庫)有分享種:
Public (公開): 任何人都可以觀看、下載
Private (私有): 只有您和您邀請的人才能觀看。

以下我們假設你在創建一個新的儲存褲來進行 SOP 解說

1. 在 GitHub 建立新儲存庫 (New Repository) 時,
在 "Owner" 和 "Repository name" 下方,您會看到 Public 和 Private 的選項
請務必選擇 Private

2. 管理團隊成員與權限
將專案設為 Private 後,預設只有您(擁有者)看得到。您需要手動將您的團隊成員加進來。
進入您的 Private 儲存庫頁面。
點選 Settings (設定)。
在左側選單中,點選 Collaborators and teams (協作者與團隊)。
點擊 Add people (新增人員) 按鈕,然後輸入您團隊成員的 GitHub 使用者名稱、Email 或全名來邀請他們。

** 有關權限的管理 **
在邀請他們時,您可以指定他們的權限,這對「控制修改」至關重要:
  Read (讀取):
    可以:觀看、下載、複製 (Fork) 程式碼。
    不可以:推送 (Push) 任何修改。
    (適用於:需要觀看程式碼但不需要修改的專案經理、QA 人員或實習生。)

  Write (寫入):
    可以:觀看、下載、推送 (Push) 修改。
    (適用於:您的核心開發團隊成員。)

  Admin (管理):
    可以:包含 Write 的所有權限,外加可以修改儲存庫設定、管理協作者等。
    (適用於:專案負責人、主要管理者。)

修改後的效果:
非團隊人員 -> 因為專案是 Private,他們完全看不到
需要觀看但不能改的人 -> 邀請並給予 Read 權限
需要開發的人 -> 邀請並給予 Write 權限

== 補充 ==
保護主要分支 (Branch Protection)
有時候,即使是擁有 Write 權限的團隊成員,我們也不希望他們「隨意」將程式碼推送到主要分支
 (例如 main 或 master),因為這可能會弄亂專案。

您可以設定「分支保護規則 (Branch Protection Rule)」來解決這個問題:
在 Settings > Branches (分支) 中, 為您的 main 分支新增一條規則。
強烈建議勾選:
Require a pull request before merging (合併前需要拉取請求)
  這會禁止所有人 (包括 Admin) 直接 Push 到 main 分支
  所有變更都必須透過 Pull Request (PR) 的流程來提交

Require approvals (需要審核):
  設定 PR 至少需要 1 人 (或 2 人) 審核 (Review) 並「批准 (Approve)」後,才能合併到 main 分支

預期成效:

您的需求解決方案
非團隊人員無法觀看設定儲存庫為 Private
非團隊人員無法修改(已由 Private 解決)
團隊成員可以觀看 (但不能改)邀請為 Collaborator 並給予 Read 權限
團隊成員可以觀看和修改邀請為 Collaborator 並給予 Write 權限
團隊成員可以修改,但要有審核使用 Branch Protection Rule (強制 PR + 審核)

You may also like

Leave a Comment