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