GitHub 实现多人协同提交代码并且权限分组管理
轉載請標明出處:?
http://www.cnblogs.com/zhaoyanjun/p/5882784.html?
出自[趙彥軍博客]?2016-09-19
?
前言:
在上一篇文章中Android github 快速實現(xiàn)多人協(xié)作?(http://www.cnblogs.com/zhaoyanjun/p/5829142.html)介紹了如何快速的實現(xiàn)多人協(xié)作的功能。
其優(yōu)點是:操作簡單,快速上手。缺點是:沒有辦法實現(xiàn)權限控制。為啥要權限控制?這是一個蛋疼的問題,因為我們?yōu)榱隧椖康陌踩紤],需要對一部分人開放只讀權限(只能 read、clone) ; 或者對一部分人開放寫權限(只能 read、clone、push) ; 或者對一部分人開放管理者權限(只能 read、clone、push、給倉庫添加成員 )。事實上github對權限的管理只有4種,前三種權限分別是 Admin(管理者)、Write(只寫) 、Read(只讀) 。最后一種權限比較特殊,它是該組織的創(chuàng)建者,擁有至高無上的的權利。
?
正文:
要想弄清楚github權限管理,需要了解幾個概念。?organization(組織) 、repository(倉庫)、Team(團隊)。
在了解這些概念之前,先聽我講一個小故事。話說從前有個生意人,由于他聰明又能干,他開了水果攤、奶茶店、還有一個網吧。轉眼10年過去了,他積累了很多錢,也有了很牛逼的權利,總的來說就是有錢有勢有人,于是乎有一天他帶領100個兄弟成立一個黑幫組織:青幫。組織成立后,他把100個兄弟分成4個team, 每個team 25個人。團隊成立后,兄弟們總不能坐著餓死吧,于是乎他有開了一個ktv 、一個超市、一個足浴大保健。那么問題就來了,怎么讓4個team接手這3個項目,要有明確的權限控制,如果權限控制不得當,就會出現(xiàn)自家兄弟互相搶地盤的問題。一個項目可以讓多個team管理,一個team可以管多個項目,所以team和項目之間是多對多的關系。
- 小故事的中的角色資產分析
生意人所擁有的資產:3個項目:水果攤、奶菜店、網吧。
? ? ? ? ? ? ? ? ? ? ? ? ? ?1個組織:青幫
青幫組織所擁有的資產:3個項目:Ktv、超市、足浴大保健
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4個team
注意:水果攤、奶菜店、網吧 這三個項目只屬于生意人的資產,不歸任何組織所擁有。那延伸一下,生意人是可以再次創(chuàng)建一個新的項目,比如一個4s店;同時他也可以再創(chuàng)建一個新的組織,比如一個洪幫組織。同樣在洪幫組織里面可以創(chuàng)建多個team。
現(xiàn)在可以把思路轉換到github中,對應關系
?
生意人 ? --> ? 你注冊的github賬戶
水果攤 ? --> ??repository(倉庫)
青幫 ? ? ?--> ??organization(組織)
團隊 ? ? ?--> ? ??Team(團隊)
?
1、github實戰(zhàn)--創(chuàng)建組織
在故事中,生意人可以創(chuàng)建項目和組織。對應到github上的用戶可以創(chuàng)建倉庫和組織。
?
完整的實例
?
2、github實戰(zhàn)--在組織中創(chuàng)建倉庫
? 當創(chuàng)建完組織后,來看看組織的結構
在Organ-Name 組織下,創(chuàng)建一個倉庫
?
?
3、github實戰(zhàn)--在組織中創(chuàng)建team
?團隊創(chuàng)建完成后,默認這個團隊的成員只有一個人,就是該賬號。下面就開始給這個team添加其他成員。
邀請成功以后,需要被邀請人去自己的郵箱點擊一下,確認邀請
?
4、github實戰(zhàn)--在組織中給倉庫添加team并且設置權限。
?
?可以看到,倉庫對team的權限控制有三種
- Admin?管理者權限(只能 read、clone、push、給倉庫添加成員 )
- Write 寫權限(只能 read、clone、push)
- Read 讀權限(只能 read、clone)?
?
另外任意一個Team可以供多個組織使用,到這里權限添加已經全部完成了。
?
總結
- 通過這篇文章可以在github愉快的使用權限管理了,但是github不能免費的創(chuàng)建私有倉庫,這是一個很嚴重的問題。如果是開源項目,用github完全沒有問題。如果是私有項目,可以有以下幾個途徑達到要求
? ? ? ? 1、在github花錢購買私有倉庫。
? ? ? ?2、使用國內比較出名的開源中國git托管服務:https://git.oschina.net/? ?
? ? ? ?3、使用GitLab,這需要在自己的服務器上部署。傳送門:https://about.gitlab.com/gitlab-com/
?
總結
以上是生活随笔為你收集整理的GitHub 实现多人协同提交代码并且权限分组管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 6.0 权限管理最佳实践
- 下一篇: Fiddler抓包使用教程-扫盲篇