2021-05-12 14:32:11
GitHub實現多人協同提交程式碼及許可權分組管理
前言:
在這篇文章中Android GitHub 快速實現多人共同作業 ( http://www.linuxidc.com/Linux/2017-06/145137.htm )介紹了如何快速的實現多人共同作業的功能。
其優點是:操作簡單,快速上手。缺點是:沒有辦法實現許可權控制。為啥要許可權控制?這是一個蛋疼的問題,因為我們為了專案的安全考慮,需要對一部分人開放唯讀許可權(只能 read、clone) ; 或者對一部分人開放寫許可權(只能 read、clone、push) ; 或者對一部分人開放管理者許可權(只能 read、clone、push、給倉庫新增成員 )。事實上github對許可權的管理只有4種,前三種許可權分別是 Admin(管理者)、Write(只寫) 、Read(唯讀) 。最後一種許可權比較特殊,它是該組織的建立者,擁有至高無上的的權利。
正文:
要想弄清楚github許可權管理,需要了解幾個概念。 organization(組織) 、repository(倉庫)、Team(團隊)。
在了解這些概念之前,先聽我講一個小故事。話說從前有個生意人,由於他聰明又能幹,他開了水果攤、奶茶店、還有一個網咖。轉眼10年過去了,他積累了很多錢,也有了很牛逼的權利,總的來說就是有錢有勢有人,於是乎有一天他帶領100個兄弟成立一個黑幫組織:青幫。組織成立後,他把100個兄弟分成4個team, 每個team 25個人。團隊成立後,兄弟們總不能坐著餓死吧,於是乎他有開了一個ktv 、一個超市、一個足浴大保健。那麼問題就來了,怎麼讓4個team接手這3個專案,要有明確的許可權控制,如果許可權控制不得當,就會出現自家兄弟互相搶地盤的問題。一個專案可以讓多個team管理,一個team可以管多個專案,所以team和專案之間是多對多的關係。
- 小故事的中的角色資產分析
生意人所擁有的資產:3個專案:水果攤、奶菜店、網咖。
1個組織:青幫
青幫組織所擁有的資產:3個專案:Ktv、超市、足浴大保健
4個team
注意:水果攤、奶菜店、網咖 這三個專案只屬於生意人的資產,不歸任何組織所擁有。那延伸一下,生意人是可以再次建立一個新的專案,比如一個4s店;同時他也可以再建立一個新的組織,比如一個洪幫組織。同樣在洪幫組織裡面可以建立多個team。
現在可以把思路轉換到github中,對應關係
生意人 --> 你註冊的github賬戶
水果攤 --> repository(倉庫)
青幫 --> organization(組織)
團隊 --> Team(團隊)
1、github實戰--建立組織
在故事中,生意人可以建立專案和組織。對應到github上的使用者可以建立倉庫和組織。
完整的範例
2、github實戰--在組織中建立倉庫
當建立完組織後,來看看組織的結構
在Organ-Name 組織下,建立一個倉庫
3、github實戰--在組織中建立team
團隊建立完成後,預設這個團隊的成員只有一個人,就是該賬號。下面就開始給這個team新增其他成員。
邀請成功以後,需要被邀請人去自己的郵箱點選一下,確認邀請
4、github實戰--在組織中給倉庫新增team並且設定許可權。
可以看到,倉庫對team的許可權控制有三種
- Admin 管理者許可權(只能 read、clone、push、給倉庫新增成員 )
- Write 寫許可權(只能 read、clone、push)
- Read 讀許可權(只能 read、clone)
另外任意一個Team可以供多個組織使用,到這裡許可權新增已經全部完成了。
總結
- 通過這篇文章可以在github愉快的使用許可權管理了,但是github不能免費的建立私有倉庫,這是一個很嚴重的問題。如果是開源專案,用github完全沒有問題。如果是私有專案,可以有以下幾個途徑達到要求
1、在github花錢購買私有倉庫。
2、使用GitLab,這需要在自己的伺服器上部署。傳送門:https://about.gitlab.com/gitlab-com/
GitHub 教學系列文章:
通過GitHub建立個人技術部落格圖文詳解 http://www.linuxidc.com/Linux/2015-02/114121.htm
GitHub 使用教學圖文詳解 http://www.linuxidc.com/Linux/2014-09/106230.htm
使用 GitHub / GitLab 的 Webhooks 進行網站自動化部署 http://www.linuxidc.com/Linux/2016-06/131993.htm
多個GitHub帳號的SSH key切換 http://www.linuxidc.com/Linux/2016-05/131080.htm
如何在同一台電腦上使用兩個GitHub賬戶 http://www.linuxidc.com/Linux/2016-05/131079.htm
利用GitHub搭建個人Maven倉庫 http://www.linuxidc.com/Linux/2016-04/130197.htm
一分鐘認識GitHub http://www.linuxidc.com/Linux/2015-11/125089.htm
分享實用的GitHub 使用教學 http://www.linuxidc.com/Linux/2014-04/100556.htm
GitHub使用操作指南 http://www.linuxidc.com/Linux/2016-10/135782.htm
GitHub使用方法入門基礎 http://www.linuxidc.com/Linux/2017-05/144084.htm
相關文章