1. 程式人生 > >基於GitLab與Git Extensions搭建版本控制工具

基於GitLab與Git Extensions搭建版本控制工具

基本 cmd img html nat 需求 無法 spa hang

1.背景

  大家知道GitHub是現在非常流行的代碼托管工具,但是如果有些項目不想開源的話,則需要付費,因此萌生了自己搭建一個Git的版本控制工具,供內網使用。GitLab則是個好的選擇,但是GitLab只支持Linux版本,因此則需在Windows服務器上搭建個Linux的虛擬機,我選擇了Ubuntu。此時服務器端選型成功,客戶端需要安裝什麽呢,我選擇了Git Extensions,用它是因為他直接集成了Git以及KDiff3工具,更方便的是這個工具自帶Putty,可以很方便地生成SSH公鑰和私鑰。

2.環境

  (1)服務器端:Ubuntu(搭建在Win10上的虛擬機)、GitLab

(2)客戶端:Win10 Git Extensions(包括Git、KDiff3)

3.實現思路

  (1)安裝Ubuntu,版本號:Ubuntu 16.04,具體安裝步驟就不贅述,可以參考http://blog.csdn.net/u013142781/article/details/50529030,Ubuntu安裝完發現了一個問題,屏幕太小,而且無法放大,可以通過安裝Vmware Tool解決,具體可以參考http://jingyan.baidu.com/article/fc07f98977b60f12ffe5199b.html,這裏需要用到Ubuntu的終端工具(類似Windows的cmd),需要采用命令行的方式去執行,剛開始有些不太習慣。(註:打開終端的快捷鍵:ctrl+alt+T,切換管理員的命令:sudo su)

   (2) Ubuntu虛擬機與Win10宿主機的網絡連接方式,有兩種方式,一個是橋接模式,另一個是NAT模式。橋接模式是直接連接物理網絡的,也就是橋接模式下Ubuntu虛擬機跟Win10是在同一個網段的局域網裏的。好比我的Win10 IP:192.168.0.104,橋接模式下的Ubuntu的Ip是192.168.0.103;而NAT模式則是共享主機的Ip,自動生成一個IP地址,此地址跟宿主機不在一個網段裏,比如我這邊IP地址是:192.168.182.129。當前的業務需求是在局域網裏能訪問,選擇了橋接模式。Ubuntu如下圖所示。

(3)安裝GitLab,安裝過程還算順利,建議安裝Gitlab安裝包,我安裝的是gitlab-ce_9.1.1-ce.0_amd64,具體步驟不再贅述,詳細可參考http://blog.csdn.net/u011241606/article/details/51471367。建議把external_url

設成當前IP地址。

(4)客戶端訪問GitLab URL地址,如下圖所示。默認賬號是root技術分享

(5)客戶端安裝Git Extensions,安裝的過程會提醒你安裝Git以及KDiff3,安裝過程中基本不需求設置什麽,記得選SSH客戶端Putty,詳細參考http://blog.csdn.net/mysouling/article/details/51304173。Git Extension可以生成公鑰、私鑰,公鑰是要放到GitHub、GitLab裏面的,私鑰是存在本地,每次拉取代碼或者克隆代碼通過Pageant需要加載的。每個用戶都對應一個公鑰、一個私鑰。GitLab在Setting的SSH keys裏面設置,如下圖所示。

技術分享

  (6)Git Extensions安裝完,在Git Extensions裏新建Group、項目、用戶等,具體操作不再贅述,GitLab已經部署好,這樣就可以上傳代碼到GitLab裏,然後通過Git Extensions通過SSH Git地址拉取代碼,提交到本地倉庫,提交到遠程Git倉庫(GitLab裏)。如下圖所示。

技術分享

  (7)在使用過程中,發現當GitLab修改了IP地址,但是SSH地址([email protected]:zhangviv/develop.git)還是原來的地址,則需要進行修改,具體用法參考http://blog.csdn.net/lcalqf/article/details/54862046。

基於GitLab與Git Extensions搭建版本控制工具