當(dāng)我們?cè)诰帉懘笮晚?xiàng)目的時(shí)候顷牌,經(jīng)常需要多人合作,協(xié)同開(kāi)發(fā)塞淹,這篇文章我們就總結(jié)一下在Github上實(shí)現(xiàn)團(tuán)隊(duì)合作的三種方式窟蓝。Github是一個(gè)非常好的代碼托管工具,具體的使用方法可以參考我之前的這篇文章《Github漫游手冊(cè)》窖铡。
Organization&Team
創(chuàng)建組織
進(jìn)入Github首頁(yè)疗锐,點(diǎn)擊頁(yè)面右上角的?按鈕,選擇New organization創(chuàng)建一個(gè)新的組織费彼。
填寫組織的名稱滑臊,選擇組織的倉(cāng)庫(kù)類型,公開(kāi)倉(cāng)庫(kù)是免費(fèi)的箍铲,私有倉(cāng)庫(kù)收費(fèi)雇卷。
新建倉(cāng)庫(kù)
創(chuàng)建好組織后,在該組織下新建倉(cāng)庫(kù)颠猴。
倉(cāng)庫(kù)創(chuàng)建成功后关划,小組中的成員都可以看到。
創(chuàng)建Team
在組織中找到Teams翘瓮,點(diǎn)擊New team贮折,一個(gè)組織可以創(chuàng)建多個(gè)Team。
填寫Team信息
邀請(qǐng)成員
在Team中點(diǎn)擊右上角Add a member添加成員资盅。
輸入成員的github賬戶调榄,被邀請(qǐng)的成員需要在郵箱中確認(rèn)。
授予權(quán)限
給Team中的成員授予Manage權(quán)限呵扛。
授予Manage權(quán)限之后每庆,該成員就可以對(duì)此倉(cāng)庫(kù)進(jìn)行操作。
可以看到今穿,倉(cāng)庫(kù)對(duì)team的權(quán)限控制有三種
- Admin 管理者權(quán)限(可以 read缤灵、clone、push蓝晒、給倉(cāng)庫(kù)添加成員 )
- Write 寫權(quán)限(只能 read腮出、clone、push)
- Read 讀權(quán)限(只能 read拔创、clone)
另外任意一個(gè)Team可以供多個(gè)組織使用利诺,到這里權(quán)限添加已經(jīng)全部完成了。
添加Collaborators
我們可以在自己倉(cāng)庫(kù)中的Settings中添加合作開(kāi)發(fā)者
在右側(cè)選擇Collaborators剩燥,輸入合作開(kāi)發(fā)者的github賬戶慢逾,點(diǎn)擊Add collaborator進(jìn)行邀請(qǐng)立倍,被邀請(qǐng)者需要在郵箱中進(jìn)行確認(rèn)。
被添加進(jìn)來(lái)的成員就擁有了對(duì)該倉(cāng)庫(kù)的讀寫權(quán)限侣滩,可以將該倉(cāng)庫(kù)clone到本地進(jìn)行開(kāi)發(fā)口注,也同樣擁有向該倉(cāng)庫(kù)遠(yuǎn)程提交的權(quán)限,但是該倉(cāng)庫(kù)不會(huì)出現(xiàn)在合作開(kāi)發(fā)者的倉(cāng)庫(kù)中君珠。
Fork&Pull request
如果我們想?yún)⑴c開(kāi)發(fā)某個(gè)開(kāi)源項(xiàng)目寝志,可以將這個(gè)項(xiàng)目Fork到自己的倉(cāng)庫(kù)中。
這樣該項(xiàng)目就會(huì)創(chuàng)建一份鏡像到你自己的倉(cāng)庫(kù)中策添,可以clone到本地材部,參與開(kāi)發(fā),但是你修改的內(nèi)容并不會(huì)影響它原本的倉(cāng)庫(kù)唯竹。
如果你在原倉(cāng)庫(kù)的基礎(chǔ)上增加了新功能乐导,或者修改了bug,可以向原倉(cāng)庫(kù)提出pull request申請(qǐng)浸颓,請(qǐng)求merge物臂,原倉(cāng)庫(kù)的管理者就會(huì)收到消息提示,決定是否合并到原倉(cāng)庫(kù)中产上。