github和gitlab的關係(原文:http://blog.csdn.net/carryoner/article/details/51684431)。html
二者都是基於web的Git repositories(倉庫),擁有流水線型的web開發流程,它們爲開發團隊存儲、分享、發佈、測試和合做web開發項目提供了中心化的、雲存儲的場所。Git版本控制——對於多人共同開發一個project來講很是重要——它提供了分享開源項目的平臺。git
GitLab擁有更多的特性,它可讓開發團隊擁有更多的安全性和靈活性的選擇。github
GitLab的優點
GitLab擁有GitHub擁有的一切,但他擁有更多——讓團隊對它們的repositories擁有更多的控制,它的特點:web
很是便捷的用戶界面,在同一界面上獲取到:projects,最近的projects,用戶,最近的用戶,羣組和狀態;安全
容許設置倉庫權限是公用的仍是私有的;(gitlab能夠設置私有,只有本組成員能夠看到,github的代碼通常全部人均可以看到)服務器
「Snippet support」讓用戶分享一個project的部分代碼,而不是整個project。ssh
受保護的分支是一種提高代碼安全性的新方法,它們容許用戶設置project的獲取權限,因此一個團隊中只有特定的人能夠push,force push或者刪除一個分支的代碼。gitlab
Authentication levels更進一步的提高安全性,容許用戶給人讀寫之外的權限。舉例來講,你能夠給一個組員跟蹤變更的權限卻不給他獲取代碼的權限。測試
你能夠設置獲取到團隊的總體的改進進度,而不是你我的的進度。加密
開發者經過打上「仍在進行中」狀態標籤讓其餘成員知道代碼沒有完成,從而阻止未完成的代碼合併到其餘的代碼中
「innersourcing」公司的資源若是員工再也不權限範圍內,將不知道這個資源的存在。
在gitlab上新建一個項目。
權限等級分三種:
git倉庫之間的代碼傳輸協議主要使用ssh協議。而通常搭建gitlab的時候使用的git用戶是沒有密碼的,所以直接ssh是不能登陸的,就須要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰:
在終端中敲下面的命令,第一步會生成一對私鑰和公鑰,分別存在 ~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
中。第二步查看公鑰字符串。
ssh-keygen -t rsa -C "$your_email" cat ~/.ssh/id_rsa.pub
在面板上依次點擊Profile Settings –> SSH Keys –> Add SSH Keys。而後把上一步中的id_rsa.pub
中的內容拷貝出來粘貼到輸入框中,保存。
完成上面兩步以後就成功的添加了sshkey了,而後就能夠上傳代碼了。
若是你已經使用過git了,那麼這一步對你來講能夠跳過了。總體來講比較簡單的。下面的$project_root
表明工程根目錄(你將要上傳的工程)
cd $project_root
git init
git add .
git commit -m 'init commit'
git remote add origin git@example.com:namespace/projectname.git
git push origin master
這個就能夠上傳到你的gitlab了,下圖所示。
這時候就你本身能看到此項目,咱們須要添加用戶:
進入gitlab界面,
點擊member後: