我們正在構建一個評估過程,並希望限制特定用戶對特定分支的讀寫訪問權限。根據用戶名限制讀取和寫入訪問普通git存儲庫的分支
有「普通」用戶對所有內容具有讀寫訪問權限(這些用戶將對答案進行評分),並且將會有給定數量的評估用戶應該只具有讀訪問權限和讀/寫權限包含其名稱的分行(例如assessment-john.doe
)。我們的評估中心將有一個包含500個用戶和密碼的列表,並將爲每個候選人提供來自該列表的一組憑證。
短版:我想配置git的,即:
- 普通用戶(如
tobi
,chris
)有:- 讀&寫訪問掌握
- (理想只)讀訪問分支開始
assessment-
- 作爲sessment用戶(例如
assessment-1
,assessment-2
)具有:- 讀訪問掌握
- 到具有相同 名稱作爲用戶分支讀/寫訪問(例如
assessment-1
) - 到其他分支沒有訪問。
我們要使用純git的(和ssh)沒有像gitlab或github上的犯規需要此任務的任何版本控制GUI服務器。
編輯:要說清楚:讀寫控制更重要的是寫控制。 (除了主人)。
任務*不*需要某種應用程序的管理權限,因爲掛鉤'git'本身並不知道任何有關「用戶」或「訪問控制」的內容。像Gitlab這樣的工具可以完全解決你的問題,如果你不喜歡它,除了用它來管理SSH密鑰,你甚至不需要與Web UI進行交互。 – larsks
但是,如果你想開發自己的解決方案,很久以前我寫了答案[這裏](https://stackoverflow.com/a/28402532/147356)和[這裏](https://stackoverflow.com/a/8248062/147356)和[這裏](https://stackoverflow.com/a/40454688/147356)處理類似的問題。 – larsks
我們在我們公司使用gitlab enterprise,我認爲這些分支保護是企業功能的一部分。但通過我們的企業gitlab運行幾百名評估候選人需要大量用於企業服務器的用戶許可證。我也不想設置ssh密鑰。我想盡可能讓用戶儘可能簡單,但代碼不應公開,其他人可以複製它的解決方案。 – Tobi