git服務器gitlab之搭建和使用

git服務器比較有名的是gitosis和gitolite,這兩個管理和使用起來稍微有些複雜,沒有web頁面,而gitlab則是相似於 github的一個工具,github沒法免費創建私有倉庫,而且爲了代碼安全,因而在內網安裝了一個本身實驗室的一個git服務器,多方比較,選擇了 gitlab,gitlab有不少依賴,而bitnami製做了一鍵安裝的包,下載連接:https://bitnami.com/redirect /to/37478/bitnami-gitlab-7.0.0-0-linux-installer.run ,使得安裝如此簡潔。linux


1.  安裝的過程當中,會設置一個管理員帳戶,這個能夠用來登錄,而且,gitlab的成員不能本身隨便申請,須要管理員進行邀請;git

2.  設置ssh,參見help:github


(1)查看本身以前是否生成過ssh密鑰:web

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. cat ~/.ssh/id_rsa.pub  
若是出現一段ssh-rsa開頭的,表示已經生成了,能夠跳過此步驟;

(2)若是以前沒有生成ssh密鑰,使用命令:ubuntu

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. ssh-keygen -t rsa -C "zy901002@gmail.com"  
來生成密鑰。其中生成的文件,id_rsa爲本身電腦上的私鑰,id_rsa.pub爲放在服務器上驗證的公鑰。

(3)將ssh的公鑰放到gitlab上面,頁面以下所示:安全


點擊添加ssh key便可;服務器

3. 工做流程,仍是看gitlab的幫助文檔,以下所示:app


翻譯一下。。。dom

(1) 克隆管理員創建好的項目:ssh

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. git clone git@example.com:project-name.git  

(2)建立本身的本地分支(分支的命名採用小駝峯式命名法,使用本身的名字+功能,好比zyHighway,不要使用特殊字符):

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. git checkout -b $feature_name  
(3)寫代碼,將寫好的代碼提交到本地分支中:
[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. git commit -am "My feature is ready"  
(4)把分支push到Gitlab服務器上:
[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. git push origin $feature_name  
(5)在Gitlab的提交頁面,查看本身提交的代碼;

(6)提交一個合併請求;

(7)管理員審覈代碼,決定是否合併代碼到主分支上。


4. 分支模型


master分支中,保留足夠穩定的代碼,即已經發布或者即將發佈的代碼; develop分支,用於後續開發,一旦經過穩定性測試,就合併到master分支中;在develop分支的基礎上,產生各個模塊分支,模塊功能實現之 後,合併到develop分支上,測試穩定以後,再合併到master分支中。


5. 情景模擬

(1)管理員zhaoyu,新建一個項目vanet,並邀請huqiong加入,角色爲開發者:


(2)成員zhaoyu克隆項目,寫了一份代碼,並將寫好的代碼上傳至服務器的zhaoyuHighway分支上:


去提交頁面,發現已經創建了一個新的分支,而且能夠向管理員提交合並請求,管理員關聯的郵箱會受到對應的郵件:


瀏覽一下提交的代碼:



目前就到這裏,後期還會繼續更新。


附:

1. 服務器怎麼關閉和啓動gitlab服務器,並設爲開機啓動項:

在安裝的目錄下有個文件:ctlscript.sh,經過./ctlscript.sh start能夠啓動,具體在README文件中。

更改文件權限:chown git:git ctlscript.sh 

添加對應命令到啓動文件:/etc/rc.local中:./opt/gitlab-7.0.0-0/ctlscript.sh start

2. 修改git@domain_name中的domain_name

在安裝時,須要設定domain_name, 我這裏設置成個人公網的ip,若是沒有設置好的話,能夠參考帖子:點擊打開連接 ,修改文件:

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. /home/git/gitlab/apps/gitlab/htdocs/config/gitlab.yml  
將兩處的host,修改爲外網ip便可。

3. thinkserver安裝紅帽系統

採用thinkserver RD340來搭建服務器,支持的操做系統有紅帽。 安裝系統先用自帶光盤引導/分區,再用系統光盤進行安裝,安裝好以後,重啓會出現光標,注意這裏仍然須要插入安裝光盤,此時尚未完成安裝。

在紅帽上安裝好系統以後,gitlab的訪問速度很是慢,後來發現是網卡的問題,把網線從新插拔就好來。

時區設定,在地理位置那一欄一直找不到亞洲/上海,就把地理位置刪除來,本身設定時間,這樣在網頁上顯示的一些時間就不會出錯來。

4. 數據遷移(ubuntu的7.1gitlab遷移到redhat的7.8)

待寫

5. 關於7.8.1的自由註冊

配置一下郵箱,就能夠自動註冊了,可是這樣不便於團隊的保密工做,仍是採用邀請的方式來註冊。

6. 將原來倉庫的代碼上傳到新的服務器上,包括commit的記錄等log:

[plain] view plain copy 在CODE上查看代碼片派生到個人代碼片
  1. zy@zy:~/longmenshan/longmenshan$ git push -u origin master  
  2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
  3. @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @  
  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
  5. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!  
  6. Someone could be eavesdropping on you right now (man-in-the-middle attack)!  
  7. It is also possible that a host key has just been changed.  
  8. The fingerprint for the RSA key sent by the remote host is  
  9. f9:46:83:46:cd:62:60:56:bb:df:19:c0:47:8d:b0:be.  
  10. Please contact your system administrator.  
  11. Add correct host key in /home/zy/.ssh/known_hosts to get rid of this message.  
  12. Offending ECDSA key in /home/zy/.ssh/known_hosts:2  
  13.   remove with: ssh-keygen -f "/home/zy/.ssh/known_hosts" -R 222.197.180.140  
  14. RSA host key for 222.197.180.140 has changed and you have requested strict checking.  
  15. Host key verification failed.  
  16. fatal: Could not read from remote repository.  
參考帖子: 點擊打開連接 將以前的known_hosts中的記錄刪掉便可。


參考:

1. gitlab多人協同工做:http://herry2013git.blog.163.com/blog/static/219568011201341111240751,原做者還製做了視頻教程,是不錯的參考資料;

2. 《pro Git中文版》,熟悉git經常使用操做和基本原理;

3.《Git 權威指南》,深刻學習Git

相關文章
相關標籤/搜索