您好,登錄后才能下訂單哦!
前面我們已經搭建好了Gitlab服務,也講到了gitlab一些安全設置,但作為用戶,該如何來使用gitlab呢?請看下文。
1、綁定hosts,使用notepad打開C:\Windows\System32\drivers\etc\hosts,綁定gitlab服務器的IP地址,映射成域名,方便記憶并訪問,如圖1所示。
192.168.59.250 gitlab.demo.com
圖1
完成上述hosts設置后,其實我們就可以通過訪問http://gitlab.demo.com來注冊gitlab賬號了。注冊賬號最好用公司郵箱,如公司給我分配的郵箱是 firefly@demo.com,我將使用該郵箱來注冊gitlab賬號,然后由配置管理員對 firefly@demo.com 賬號分配相關倉庫權限。
管理員分配了相關組或者倉庫權限后,此時我們可以用自己的賬號登錄 http://gitlab.demo.com 查看相項目內容了。那是不是到此gitlab的操作就講完了呢?當然不是,如果想將項目克隆到本地,并在本地修改項目文件,最后又提交到gitlab服務器,對于這種操作,我們要借助Git和TortoiseGit。
2、安裝Git以及GUI客戶端TortoiseGit和中文語言包。Git下載頁在Github上:https://github.com/git-for-windows/git/releases
GUI Clients 選擇TortoiseGit,對應下載鏈接如下:
https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-2.9.0.0-64bit.msi
https://download.tortoisegit.org/tgit/2.9.0.0/TortoiseGit-LanguagePack-2.9.0.0-64bit-zh_CN.msi
下載完成后,按1、2、3順序完成安裝,如圖2所示,安裝過程中相關設置均按默認即可。
圖2
3、成功安裝后,鼠標右鍵如圖3所示。
圖3
點擊TortoiseGit --> Setttings,可設置語言為中文,點擊“應用”,如圖4所示。
圖4
然后,在“Icon Overlays“,選擇Shell Extended,如圖5,這樣設置的目的是當git倉庫中有文件發生變更時,文件圖標狀態也跟著變化,效果如圖6所示。
圖5
圖6
4、接下來再對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
5、完成上述操作后,就已基本滿足我們日常工作需求了。但作為一名開發人員,如果不會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
碰到問題不回避,這樣,我們離大神和女神都更近了一步^_^,加油。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。