前面咱們已經搭建好了Gitlab服務,也講到了gitlab一些安全設置,但做爲用戶,該如何來使用gitlab呢?請看下文。git
一、綁定hosts,使用notepad打開C:\Windows\System32\drivers\etc\hosts,綁定gitlab服務器的IP地址,映射成域名,方便記憶並訪問,如圖1所示。github
192.168.59.250 gitlab.demo.comwindows
圖1安全
完成上述hosts設置後,其實咱們就能夠經過訪問http://gitlab.demo.com來註冊gitlab帳號了。註冊帳號最好用公司郵箱,如公司給我分配的郵箱是 firefly@demo.com,我將使用該郵箱來註冊gitlab帳號,而後由配置管理員對 firefly@demo.com 帳號分配相關倉庫權限。服務器
管理員分配了相關組或者倉庫權限後,此時咱們能夠用本身的帳號登陸 http://gitlab.demo.com 查看相項目內容了。那是否是到此gitlab的操做就講完了呢?固然不是,若是想將項目克隆到本地,並在本地修改項目文件,最後又提交到gitlab服務器,對於這種操做,咱們要藉助Git和TortoiseGit。網絡
二、安裝Git以及GUI客戶端TortoiseGit和中文語言包。Git下載頁在Github上:https://github.com/git-for-windows/git/releasesssh
GUI Clients 選擇TortoiseGit,對應下載連接以下:ide
https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-2.9.0.0-64bit.msigitlab
https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-LanguagePack-2.9.0.0-64bit-zh_CN.msiui
下載完成後,按一、二、3順序完成安裝,如圖2所示,安裝過程當中相關設置均按默認便可。
圖2
三、成功安裝後,鼠標右鍵如圖3所示。
圖3
點擊TortoiseGit --> Setttings,可設置語言爲中文,點擊「應用」,如圖4所示。
圖4
而後,在「Icon Overlays「,選擇Shell Extended,如圖5,這樣設置的目的是當git倉庫中有文件發生變動時,文件圖標狀態也跟着變化,效果如圖6所示。
圖5
圖6
四、接下來再對Git作全局設置,如下命令用Git Bash完成,如圖7所示。
圖7
設置用戶名和郵箱地址(注意用本身註冊gitlab時的郵箱)
git config --global user.name "firefly"
git config --global user.email firefly@demo.com
將color.ui 設置爲auto 可讓命令的輸出擁有更高的可讀性。
git config --global color.ui auto
將credential.helper設置爲store,能夠存儲用戶以及密碼,避免每次提交或拉取時要手動輸入用戶名和密碼。
git config --global credential.helper store
上述git config命令將會在用戶家目錄下(Windows是C:\Users\xusers,Linux是~/.gitconfig)下生成.gitconfig文件,內容以下。
cat .gitconfig
[user]
name = firefly
email = firefly@demo.com
[credential]
helper = store
[color]
ui = auto
若是想再更改這些信息,能夠直接編輯.gitconfig文件,如圖8所示。這裏設置的姓名和郵箱地址會用在Git 的提交日誌中。因爲在GitHub 上公開倉庫時,這裏的姓名和郵箱地址也會隨着提交日誌一同被公開,因此請不要使用不便公開的隱私信息。
圖8
完成上述設置後,咱們就可使用HTTP方式操做gitlab的倉庫了,先複製項目的HTTP的克隆地址,如圖9所示。
圖9
使用TortoiseGit來clone倉庫,如圖10所示,選擇「Git 克隆"。
圖10
粘貼板會自動將要克隆的地址填入,如圖11所示。
圖11
點擊」肯定「,會提示輸入用戶名和密碼,如圖12所示。
圖12
密碼輸入正確後,將完成項目克隆到本地的操做,如圖13所示。
圖13
重要說明:若是在上述操做過程當中輸錯了用戶名或密碼,點擊」肯定「時會提示用戶名或密碼不正確,但不會再彈出輸入用戶名密碼的對話框,此時就獲得」控制面板「-->」用戶帳戶"-->"憑據管理"-->"管理Windows憑據",刪除對應的憑據便可,如圖14所示。
圖14
圖15
commit+push操做對應SVN的commit。由於Git的commit是先提交到本地倉庫,而後再push到gitlab服務器。即git的提交修改操做均保存在本地,不須要連gitlab服務器也能夠查看歷史修改記錄。而SVN不行,如圖16所示。
圖16
五、完成上述操做後,就已基本知足咱們平常工做需求了。但做爲一名開發人員,若是不會SSH訪問git倉庫的話,下次要是被新入職客戶端MM請教會不會就錯失了告別單身的機會(哈哈),正所謂技多不壓身。
使用ssh-keygen命令生成密鑰文件,id_rsa文件是私鑰,id_rsa.pub是公鑰。
ssh-keygen -t rsa -C firefly@demo.com
使用上面命令,直接回車,完成密鑰生成,如圖17所示。
圖17
複製id_rsa.pub文件中內容並添加到git帳戶firefly@demo.com用戶下,如圖18所示。
圖18
使用firefly帳戶登陸網頁版gitlab服務,在Settings --- SSH Keys中添加id_rsa.pub中的公開密鑰,而後點擊「Add key」,如圖19所示。
圖19
因爲gitlab服務器ssh端口不是使用默認的22,而是6688,咱們還須要建立C:\Users\tgh\.ssh\config文件(若是有多臺gitlab服務器,都可以在config文件中添加),如圖20所示。
cat >>.ssh/config <<EOF
host gitlab.demo.com
hostname 192.168.59.250
port 6688
EOF
圖20
好啦,咱們可使用ssh方式來克隆項目了,如圖21所示,先複製要克隆的項目地地址。
圖21
注意,使用ssh方式克隆項止,URL是以git@開頭,如圖22所示
圖22
點擊」肯定「,如圖23所示,我x,又報錯啦,捂臉好尷尬。
圖23
可千萬別被小小的報錯給嚇到,咱們只須要再設置一下TortoiseGit的網絡,更改一下SSH客戶端,如圖24爲修改前路徑,圖25爲修改後路徑,即咱們要用Git自帶的SSH客戶端來解決這個報錯。
圖24
圖25
完成設置後,咱們再來嘗試克隆一下,如圖26,圖27所示,順利完成。
圖26
圖27
碰到問題不迴避,這樣,咱們離大神和女神都更近了一步^_^,加油。