Git因為是分散式的版本控管系統並沒有「權限控管」的概念,
當執行git clone之後就會把整份擁有完整版本歷史的儲存庫下載回來,
接著你就可以在本地離線的進行開發與建立版本,最後再將變更推送到遠端儲存庫。
如果我們只有一份遠端儲存庫的話,這代表大家都有權限將變更推送到遠端儲存庫。
因此,GitHub 採用了 forks 與 pull request 的流程,讓你可以做到基本的權限控管。
GitHub設定協同開發人員 (Collaborators),他就能自由的 Push 與 Pull 專案原始碼。
設定 GitHub 專案的權限控管 - 組織帳號
在 GitHub 的組織帳戶下,就可以設定人員群組(Teams),你就可以在群組上設定更細的權限,其中包括三種權限:
* Pull Only (唯讀)
* Push & Pull (可讀可寫)
* Push, Pull & Administrative (可讀可寫以及專案管理權限)
...
使用 Fork 功能
簡單來說就是複製別人的GitHub 專案到你的GitHub 上。
就可把該專案當成「自己的遠端儲存庫」在用,完全沒有讀寫權限的問題。-
-
-
使用 pull request 將變更合併回當初的 GitHub 專案
發個 pull request 訊息通知作者 可以拉取這個版本。
-
發送後作者可以 Merge pull request。