轉(zhuǎn)載請注明出處:http://www.reibang.com/p/02166072c389
1. 什么是Gitlab
Gitlab是免費的、開源的基于Git的代碼管理平臺涂圆。Gitlab使用Rails開發(fā),使用PostgreSQL或MySQL數(shù)據(jù)庫,Redis作緩存,代碼托管在github上寂祥。
自己搭建私有代碼倉庫,Gitlab是首選茶敏。
2. Gitlab壤靶、Github、SVN區(qū)別
2.1 svn
svn是集中化的版本控制系統(tǒng)惊搏,只有一個單一的集中管理的服務器贮乳,保存所有文件的修訂版本,協(xié)同工作的人們通過客戶端連到這臺服務器恬惯,取出最新的文件或者提交更新向拆。
2.2 Git
Git是免費、開源的分布式版本控制系統(tǒng)酪耳,是一種工具浓恳,每個終端都是一個倉庫,客戶端并不知道提供最新版本的文件快照碗暗,而是把原始的代碼倉庫完整的鏡像下來颈将。每一次的提取操作,實際都是一次對代碼倉庫的完整備份言疗。
Bitkeeper, Mercurial也是運行在分布式模式上的晴圾。
2.3 Git vs SVN
話說Svn與Git的區(qū)別(以后別再問我了)
為什么用Git
2.4 Github vs Gitlab
兩者都是基于web的Git repositories(倉庫),擁有流水線型的web開發(fā)流程噪奄,它們?yōu)殚_發(fā)團隊存儲死姚、分享、發(fā)布勤篮、測試和合作web開發(fā)項目提供了中心化的都毒、云存儲的場所。Git版本控制——對于多人共同開發(fā)一個project來說非常重要——它提供了分享開源項目的平臺碰缔。
GitLab擁有更多的特性账劲,它可以讓開發(fā)團隊擁有更多的安全性和靈活性的選擇。
GitLab擁有GitHub擁有的一切,但他擁有更多——讓團隊對它們的repositories擁有更多的控制涤垫,它的特色在于:
- 非常便捷的用戶界面姑尺,在同一界面上獲取到:projects竟终,最近的projects蝠猬,用戶,最近的用戶统捶,群組和狀態(tài)榆芦;
- 允許設置倉庫權限是公用的還是私有的。(Github也可以設置倉庫為私有喘鸟,但是需要付費匆绣。另外企業(yè)版很貴。)
- “Snippet support”讓用戶分享一個project的部分代碼什黑,而不是整個project崎淳。
- 受保護的分支是一種提升代碼安全性的新方法,它們允許用戶設置project的獲取權限愕把,所以一個團隊中只有特定的人可以push拣凹,force push或者刪除一個分支的代碼。
- Authentication levels更進一步的提升安全性恨豁,允許用戶給人讀寫以外的權限嚣镜。舉例來說,你可以給一個組員跟蹤變動的權限卻不給他獲取代碼的權限橘蜜。
- 你可以設置獲取到團隊的整體的改進進度菊匿,而不是你個人的進度。
- 開發(fā)者通過打上“仍在進行中”狀態(tài)標簽讓其他成員知道代碼沒有完成计福,從而阻止未完成的代碼合并到其他的代碼中跌捆。
- “innersourcing”公司的資源如果員工不再權限范圍內(nèi),將不知道這個資源的存在象颖。
3. Gitlab使用
- 對于管理員來說佩厚,需要安裝、配置力麸、添加項目等可款,這個網(wǎng)上有很多文章,暫時先不寫了克蚂。
- 對于普通員工來說闺鲸,只需要注冊、配置SSH密鑰就能使用Gitlab了埃叭。
3.1 注冊
普通員工根據(jù)公司提供的用戶名摸恍、郵箱注冊。注冊成功后可以修改用戶名、郵箱立镶,也可以注銷賬戶壁袄。
3.2 配置SSH key
Git倉庫之間的代碼傳輸協(xié)議主要使用SSH協(xié)議,SSH(Secure Shell)是一個提供數(shù)據(jù)通信安全媚媒、遠程登錄嗜逻、遠程指令執(zhí)行等功能的安全網(wǎng)絡協(xié)議。
關于SSH的介紹可以看下面的文章:
SSH原理簡介
SSH原理與運用(一):遠程登錄
數(shù)字簽名是什么缭召?
Gitlab官網(wǎng)上有配置SSH key的詳細步驟:SSH
以Window為例:
需要在命令行操作栈顷,打開Git Bash(沒有安裝過Git的,可以到這里下載~)
首先檢測是否已經(jīng)有SSH key
type %userprofile%\.ssh\id_rsa.pub
如果返回一串以ssh-rsa
開頭的字符串嵌巷,說明已經(jīng)有SSH key萄凤,可以直接使用。
否則搪哪,就要生成新的SSH key
生成新的SSH key靡努,可以使用如下命令:
ssh-keygen -t rsa -C "你的郵箱"
回車,會提示輸入key存儲的文件名晓折,可以直接回車惑朦,使用默認的位置,默認在C:\Users\Administrator.ssh已维。
然后會提示輸入口令(passphrase)行嗤,可以不輸入,如果擔心私鑰的安全垛耳,可以設置一下栅屏,設置之后要牢記,以后提交的時候需要輸入這個口令堂鲜。
以后如果想修改這個口令栈雳,可以使用這個命令:
ssh-keygen -p <keyname>
現(xiàn)在就可以在C:\Users\Administrator.ssh看到生成的兩個文件了。id_rsa是私鑰缔莲,id_rsa.pub是公鑰哥纫。
登錄Gitlab,在Profile Settings => SSH-Keys輸入公鑰痴奏,標題隨意蛀骇,就可以使用Gitlab了。
4. Git Flow
Git工作流指南
基于git的源代碼管理模型——git flow
5. Gitlab使用遇到的問題
To be continued...
參考:
GitHub vs GitLab:它們有什么區(qū)別读拆?
Gitlab的使用
Gitlab 簡單配置使用
關于其他的代碼托管網(wǎng)站擅憔,可以看看:
GitHub & Bitbucket & GitLab & Coding 的對比分析
Gogs:可能是比Gitlab更好的選擇