github 之 那些暈頭轉向的名詞
1. 什麼是github
簡單來說,github是用來幫你管理代碼的,使用github可以輕鬆的查詢各個代碼版本,尤其,針對一個團隊,可以進行許可權控制。
github針對開源免費使用,因此,很多開源優秀的項目都在github上託管,方便更新迭代,例如node.js, bootstrap,等等。
2. github名詞說明
a. 倉庫(repository)
倉庫用於保存項目代碼;
註冊一個github賬號之後,你可以擁有多個代碼倉庫,每個倉庫可以用來保存一個獨立的項目;可以創建獲得(New repository),當然,也可以從其他倉庫導入(Import repository);這些倉庫都歸該github賬戶所私有,其他用戶不能push代碼到該倉庫。
倉庫也即我們所說的「遠程倉庫」,在開發的時候,一般會把代碼從遠程倉庫clone一份到我們自己的開發機;我們增刪改的時候,都是修改的本地的,最後再提交到遠程倉庫,與遠程倉庫的代碼合併。(本文所提到的倉庫都是指遠程倉庫)
b. 組織(organization)
每個賬號可以創建多個組織,組織是一個比倉庫大很多的概念,也更為複雜,這個組織的所有者,便是創建組織的人。一個組織可以擁有多個成員(member,這些member分別是多個不同的github賬戶),以及多個代碼倉庫,所以這個組織就需要對這些倉庫跟成員進行合理管理。
組織可以擁有多個倉庫(repository),用於保存多個獨立的項目;
組織,是以團隊(team)為單位來管理成員的,每個成員都被加入到一個團隊中間;
這裡,倉庫(repository)跟團隊(team)之間是多對多的關係,即,一個團隊可以管理多個倉庫,一個倉庫也可以被多個團隊管理;
那麼,組織創建者,可以控制哪個團隊來管理哪個項目,因此,組織的倉庫不在被創建者私有,而是被團隊所共有;
而且,每個團隊對每個項目的許可權也由創建者來管理,許可權共有3種:Admin, Read, Write;當一個成員對一個項目的許可權是Admin或者Write的時候,該成員可以push代碼到該倉庫。
3. 舉例說明--創建倉庫
github創建倉庫
4. 舉例說明--創建組織
github創建組織(organization)
5. 舉例說明--fork & pull requests
前面說,一個倉庫,只能該倉庫的所有者;或者是一個倉庫屬於某個組織,組織中擁有許可權的賬戶;才可以向倉庫中提交代碼。那麼,針對一個大型的開源項目,我們既不是創建者,又沒有任何許可權,那麼如何將自己的代碼提交到這個開源項目的倉庫呢?
解決方案是:fork開源項目的代碼,到我們自己的賬戶;從我們自己的賬戶中clone代碼到本地;添加代碼,提交到我們自己的github倉庫;發起pull requests,等待merge。
github fork & pull requests
6. 分支(branch)
每個代碼庫默認有一個分支 master;在開發的時候,可以拉取新的分支develop來開發(當然分支名稱可以隨意取);每次提交,commit都是到develop分支,一旦確保代碼無誤,可以將分支的代碼合併到主分支。
7.
上圖紅框中所標識的,前面表示「用戶名」或者「組織名」,後者表示「倉庫名」,從這裡也可以看出來,該倉庫是屬於用戶私有,還是屬於組織。
推薦閱讀:
※如何寫好Github中的readme?
※Github上的開源項目的價值可以用錢衡量嗎?
※GitHub 在國內無法訪問之後,如何自救?
※Github使用系列(三):Github分支操作
※掘金 Badge 上線:GitHub 上隨處可見的「小盾牌」圖標,掘金也做了一個……
TAG:GitHub |