gitserver比較有名的是gitosis和gitolite,這兩個管理和使用起來略微有些複雜,沒有web頁面,而gitlab則是類似於github的一個工具,github無法免費建立私有倉庫,而且為了程式碼安全,於是在內網安裝了一個自己實驗室的一個gitserver,多方比較,選擇了gitlab,gitlab有非常多依賴,而bitnami製作了一鍵安裝的包,下載連結:https://bitnami.com/redirect/to/37478/bitnami-gitlab-7.0.0-0-linux-installer.run ,使得安裝如此簡潔。
1. 安裝的過程中,會設定一個管理員賬戶,這個能夠用來登陸,而且,gitlab的成員不能自己隨便申請,須要管理員進行邀請;
2. 設定ssh,參見help:
(1)檢視自己之前是否生成過ssh金鑰:
cat ~/.ssh/id_rsa.pub
假設出現一段ssh-rsa開頭的,表示已經生成了,能夠跳過此步驟;
(2)假設之前沒有生成ssh金鑰,使用命令:
ssh-keygen -t rsa -C "zy901002@gmail.com"
來生成金鑰。當中生成的檔案,id_rsa為自己電腦上的私鑰,id_rsa.pub為放在server上驗證的公鑰。
(3)將ssh的公鑰放到gitlab上面,頁面例如以下所看到的:
點選加入ssh key就可以;
3. 工作流程,還是看gitlab的幫助文件,例如以下所看到的:
翻譯一下。。。
(1) 克隆管理員建立好的專案:
git clone git@example.com:project-name.git
(2)建立自己的本地分支(分支的命名採用小駝峰式命名法,使用自己的名字+功能,比方zyHighway,不要使用特殊字元):
git checkout -b $feature_name
(3)寫程式碼,將寫好的程式碼提交到本地分支中:
git commit -am "My feature is ready"
(4)把分支push到Gitlabserver上:
git push origin $feature_name
(5)在Gitlab的提交頁面,檢視自己提交的程式碼;
(6)提交一個合併請求;
(7)管理員稽核程式碼,決定是否合併程式碼到主分支上。
4. 分支模型
master分支中,保留足夠穩定的程式碼,即已經公佈或者即將公佈的程式碼; develop分支,用於興許開發,一旦通過穩定性測試,就合併到master分支中;在develop分支的基礎上,產生各個模組分支,模組功能實現之後,合併到develop分支上,測試穩定之後,再合併到master分支中。
5. 情景模擬
(1)管理員zhaoyu,新建一個專案vanet,並邀請huqiong增加,角色為開發人員:
(2)成員zhaoyu克隆專案,寫了一份程式碼,並將寫好的程式碼上傳至server的zhaoyuHighway分支上:
去提交頁面,發現已經建立了一個新的分支,而且能夠向管理員提交合並請求,管理員關聯的郵箱會受到相應的郵件:
瀏覽一下提交的程式碼:
眼下就到這裡,後期還會繼續更新。
附:
1. server怎麼關閉和啟動gitlabserver,並設為開機啟動項:
在安裝的資料夾下有個檔案:ctlscript.sh,通過./ctlscript.sh start能夠啟動,詳細在README檔案裡。
更改檔案許可權:chown git:git ctlscript.sh
加入相應命令到啟動檔案:/etc/rc.local中:./opt/gitlab-7.0.0-0/ctlscript.sh start
參考:
1. gitlab多人協同工作:http://herry2013git.blog.163.com/blog/static/219568011201341111240751,原作者還製作了視訊教程,是不錯的參考資料;
2. 《pro Git中文版》,熟悉git經常使用操作和基本原理;
3.《Git 權威指南》,深入學習Git