開發人員必備的Gitlab技能

前面我們已經搭建好了Gitlab服務,也講到了gitlab一些安全設置,但作爲用戶,該如何來使用gitlab呢?請看下文。

1、綁定hosts,使用notepad打開C:\Windows\System32\drivers\etc\hosts,綁定gitlab服務器的IP地址,映射成域名,方便記憶並訪問,如圖1所示。

192.168.59.250 gitlab.demo.com


c7f5f2451dd74ffd861394f324904590

圖1

完成上述hosts設置後,其實我們就可以通過訪問http://gitlab.demo.com來註冊gitlab賬號了。註冊賬號最好用公司郵箱,如公司給我分配的郵箱是 [email protected],我將使用該郵箱來註冊gitlab賬號,然後由配置管理員對 [email protected] 賬號分配相關倉庫權限。

管理員分配了相關組或者倉庫權限後,此時我們可以用自己的賬號登錄 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所示,安裝過程中相關設置均按默認即可。

4090b412b40c43f9a3647a208f63df9c

圖2

3、成功安裝後,鼠標右鍵如圖3所示。

1bbe6965435e49d4bc4d3656a0a7bbeb

圖3

點擊TortoiseGit --> Setttings,可設置語言爲中文,點擊“應用”,如圖4所示。

f5443ff09e9847d3afd0b22b728c03eb

圖4

然後,在“Icon Overlays“,選擇Shell Extended,如圖5,這樣設置的目的是當git倉庫中有文件發生變更時,文件圖標狀態也跟着變化,效果如圖6所示。

a6ae0c99a5114ecfb6a54c67c417360d

圖5

f79a0742679d4f01991c3fd08f45b806

圖6

4、接下來再對Git做全局設置,以下命令用Git Bash完成,如圖7所示。

a94bd699fb274a84a6c6980526657a93

圖7

設置用戶名和郵箱地址(注意用自己註冊gitlab時的郵箱)

git config --global user.name "firefly"

git config --global user.email [email protected]

將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 = [email protected]

[credential]

helper = store

[color]

ui = auto

如果想再更改這些信息,可以直接編輯.gitconfig文件,如圖8所示。這裏設置的姓名和郵箱地址會用在Git 的提交日誌中。由於在GitHub 上公開倉庫時,這裏的姓名和郵箱地址也會隨着提交日誌一同被公開,所以請不要使用不便公開的隱私信息。

d5bd9824be8342ef9892c7bb22cede33

圖8

完成上述設置後,我們就可以使用HTTP方式操作gitlab的倉庫了,先複製項目的HTTP的克隆地址,如圖9所示。

6a753aa4459544c9a9d67120f7573e73

圖9

使用TortoiseGit來clone倉庫,如圖10所示,選擇“Git 克隆"。

d76a3ff52e3542aba36c09554a2f0074

圖10

粘貼板會自動將要克隆的地址填入,如圖11所示。

40de8f9ae9c2421eab30498af7e4cee0

圖11

點擊”確定“,會提示輸入用戶名和密碼,如圖12所示。

d9817be3bc41403dbbdb0e3403302592

圖12

密碼輸入正確後,將完成項目克隆到本地的操作,如圖13所示。

e1117b66c85f4db9883c5d0f41efac41

圖13

重要說明:如果在上述操作過程中輸錯了用戶名或密碼,點擊”確定“時會提示用戶名或密碼不正確,但不會再彈出輸入用戶名密碼的對話框,此時就得到”控制面板“-->”用戶賬戶"-->"憑據管理"-->"管理Windows憑據",刪除對應的憑據即可,如圖14所示。

99fda1a6-44e0-4821-9316-3a92ad9de938

圖14

f897873910324445b2c3048b9192120f

圖15

commit+push操作對應SVN的commit。因爲Git的commit是先提交到本地倉庫,然後再push到gitlab服務器。即git的提交修改操作均保存在本地,不需要連gitlab服務器也可以查看歷史修改記錄。而SVN不行,如圖16所示。

6fd191bdd4d44ae38b79bcc6f73f03e5

圖16

5、完成上述操作後,就已基本滿足我們日常工作需求了。但作爲一名開發人員,如果不會SSH訪問git倉庫的話,下次要是被新入職客戶端MM請教會不會就錯失了告別單身的機會(哈哈),正所謂技多不壓身。

使用ssh-keygen命令生成密鑰文件,id_rsa文件是私鑰,id_rsa.pub是公鑰。

ssh-keygen -t rsa -C [email protected]
使用上面命令,直接回車,完成密鑰生成,如圖17所示。

圖17
複製id_rsa.pub文件中內容並添加到git賬戶[email protected]用戶下,如圖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

9307856397ac49ce83a18fa66f7982e1

圖20

好啦,我們可以使用ssh方式來克隆項目了,如圖21所示,先複製要克隆的項目地地址。

5948f588a2a046f5a188efbbec1788b7

圖21

注意,使用ssh方式克隆項止,URL是以git@開頭,如圖22所示

c58686fa6801443f80c2b1757a2439e5

圖22

點擊”確定“,如圖23所示,我x,又報錯啦,捂臉好尷尬。

263a216d8915430da9a9095cdcda3162

圖23

可千萬別被小小的報錯給嚇到,我們只需要再設置一下TortoiseGit的網絡,更改一下SSH客戶端,如圖24爲修改前路徑,圖25爲修改後路徑,即我們要用Git自帶的SSH客戶端來解決這個報錯。

5961691e441a4a699025738bda5fe7d2

圖24

b3912205e01b4973bcde1d1910681721

圖25

完成設置後,我們再來嘗試克隆一下,如圖26,圖27所示,順利完成。

0e660e5cbf3c40ac84dfd8562a31060f

圖26

a05df00e000f462cb0c34d881bfbcb75

圖27

碰到問題不迴避,這樣,我們離大神和女神都更近了一步^_^,加油。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章