以Windows作業系統為例,詳解版本控制系統—Git的操作

博為峰網校發表於2022-02-24

版本控制系統(Version Control System,VCS)是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。在一個專案團隊中,開發人員需要對程式碼做版本控制,而測試人員編寫自動化測試指令碼後,同樣需要對這些內容的版本做維護和管理。目前比較熱門的版本控制系統是:Git。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

本文主要介紹以Windows作業系統為例,在GitLab上使用Git來管理測試版本(包括自動化測試指令碼、測試用例、測試文件)的一系列操作,包括:Git安裝、GitLab配置SSH連線、GitLab上建立倉庫、上傳本地專案、克隆程式碼到本地以及推送(Push)更新後的指令碼到GitLab等。

1、Git、GitHub和GitLab

在介紹具體操作之前,我們先來了解:Git、GitHub和GitLab究竟是什麼,這三者之間有什麼關係。

Git:正如上面提到的,是一個版本控制系統,它是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。Git的發明者正是Linus Torvalds--Linux作業系統的開創者。

GitHub:Github和Git是兩回事。Github是線上的基於Git的程式碼託管服務。

GitHub是2008年由Ruby on Rails編寫而成。GitHub同時提供付費賬戶和免費賬戶。這兩種賬戶都可以建立公開的程式碼倉庫,但是隻有付費賬戶可以建立私有的程式碼倉庫。

GitLab:在很大程度上GitLab是仿照GitHub來做的,它們都是線上的基於Git的程式碼託管服務,提供了分享開源專案的平臺。但是GitLab解決了GitHub付費的問題,可以建立私人的免費倉庫(PS:GitLab可免費建立私有程式碼倉庫,但是更高階的服務仍要收費)。相較於GitHub,GitLab允許免費設定倉庫許可權;允許使用者選擇分享一個project的部分程式碼;允許使用者設定project的獲取許可權,進一步的提升安全性;可以設定獲取到團隊整體的改進進度;透過innersourcing讓不在許可權範圍內的人訪問不到該資源。

2、安裝Git

Git有許多種安裝方式,主要分為兩種,一種是透過編譯原始碼來安裝;另一種是使用為特定平臺預編譯好的安裝包。本文推薦第二種安裝方式,到GitHub的頁面上下載支援Windows系統的exe安裝檔案並執行,下載連結:。安裝Git.exe之後,開始選單中會有 Git 資料夾,目錄下有:Git Bash、Git CMD和Git GUI。

3、GitLab配置SSH連線

把本地的專案傳到GitLab上,需要先配置SSH Key。當然也可以不需要SSH Key連線,可以透過HTTPS的方式上傳本地專案,只是HTTPS連線時,每次要輸入使用者名稱、密碼。

(1)首先,在開始選單裡找到“Git”->“Git Bash”並開啟。輸入如下命令以生成一個新的SSH:

$ssh-keygen -t rsa -C "email" #gitlab 註冊的郵箱

然後直接回車,不用填寫東西。之後會讓你輸入密碼(可以不輸入密碼,直接為空,這樣更新程式碼不用每次輸入id_rsa密碼了)。然後就會在“C:\Users\電腦使用者名稱”路徑下生成一個目錄.ssh,裡面有兩個檔案:id_rsa , id_rsa.pub(id_rsa中儲存的是私鑰,id_rsa.pub中儲存的是公鑰)。

(2)在如下圖的GitLab上開啟SSH keys->add key頁面,把 id_rsa.pub公鑰的內容複製進去就可以了。

圖GitLab1

(3)在Git Bash上配置賬戶,命令如下:

$ git config --global user.name "your_username" #設定使用者名稱

$ git config --global user.email "your_registered_github_Email" #設定郵箱地址(GitLab註冊的郵箱)

(4)最後,開啟IDEA或Pycharm編輯器,就可以透過SSH連線來Clone已有的倉庫程式碼了。具體操作,下面會詳細介紹。

4、GitLab上建立倉庫並上傳本地專案

(1)在GitLab上建立倉庫,如下圖。首先進入GitLab選擇Create a Project,填寫Project name、Project description(optional)、Visibility Level。然後點【Create project】按鈕建立。

圖GitLab2

(2)然後在GitLab上建立README檔案。開啟本地電腦中的測試指令碼所在資料夾,將.idea 檔案的IDE配置資訊刪除,這樣是為了保證IDE配置資訊不會上傳到GitLab中。

(3)選中測試指令碼資料夾,滑鼠右鍵開啟Git Bash Here,依次輸入如下命令:

輸入git config --global user.name "你的使用者名稱"

輸入git config --global user.email "你的郵箱"

輸入git init

輸入git remote add origin 配置好的 SSH 地址

輸入git add .

輸入git commit -m "Initial commit"

輸入git push -u origin master 將程式碼推送到GitLab端

當然也可以根據GitLab--建立倉庫後會在GitLab頁面上展示出命令語句,根據這些語句來一步一步地操作。上傳完成之後,本地專案就出現在GitLab上。

圖GitLab3

CLONE指令碼到本地

配置SSH Key之後,就可以把GitLab上的指令碼直接Clone到本地。開啟Pycharm或者 IDEA工具,在“Check out from Version Control”中選擇“Git”,然後在“Git Repository URL”中輸入GitLab上的SSH Key連結;在“Parent Directory”輸入Clone專案到本地的存放路徑;然後在“Directory Name”中輸入專案的名稱,點選【Clone】按鈕,就會將GitLab倉庫匯入到本地。

每一個Git克隆都是一個完整的檔案庫,含有全部歷史記錄和修訂追蹤能力,不依賴於網路連線或中心伺服器。其最大特色就是“分支”及“合併”操作非常快速、簡便。

圖GitLab4

6、推送(Push)更新後的指令碼到GitLab

本地推送更新後的指令碼到GitLab,在配置了SSH Key連線後,使用Pycharm或IDEA工具進行操作是非常地方便。詳情搜尋網上相關工具的操作手冊,此處不再詳細介紹。

總之,版本控制系統—Git,可以協助軟體測試人員管理測試指令碼等內容。Git具有版本庫本地化,支援離線提交,相對獨立不影響協同開發等優點。每個編寫自動化指令碼的測試人員都擁有自己的版本控制庫,在自己的版本庫上可以任意的執行提交程式碼、建立分支等行為,不用擔心影響到其他測試人員提交的測試指令碼。大家快去試試吧。

最後:

可以我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2857687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章