以Windows作業系統為例,詳解版本控制系統—Git的操作
版本控制系統(Version Control System,VCS)是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。在一個專案團隊中,開發人員需要對程式碼做版本控制,而測試人員編寫自動化測試指令碼後,同樣需要對這些內容的版本做維護和管理。目前比較熱門的版本控制系統是:Git。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
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公鑰的內容複製進去就可以了。
(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】按鈕建立。
(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上。
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克隆都是一個完整的檔案庫,含有全部歷史記錄和修訂追蹤能力,不依賴於網路連線或中心伺服器。其最大特色就是“分支”及“合併”操作非常快速、簡便。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何選擇版本控制系統——為什麼選擇Git版本控制系統Git
- 版本控制系統之gitGit
- Git 版本控制系統的完整指南Git
- Git版本控制系統安裝Git
- Windows作業系統Windows作業系統
- 一、Git分散式版本控制系統Git分散式
- windows 作業系統裡 git bash 和 git cmd 的區別Windows作業系統Git
- Git與其他版本控制系統的區別Git
- git和其他版本控制系統的區別Git
- Windows作業系統教程Windows作業系統
- 將redis作為windows系統的系統服務RedisWindows
- 版本控制系統
- 作業系統封裝操作作業系統封裝
- Windows作業系統產品名與內部版本號的對應(windows版本號)Windows作業系統
- Windows XP 作業系統六例精彩問答(轉)Windows作業系統
- 獲取windows 作業系統下的硬體或作業系統資訊等Windows作業系統
- 作業系統實驗——程式控制作業系統
- 作業系統(1)——作業系統概述作業系統
- 作業系統(一):作業系統概述作業系統
- 作業系統實驗2 程式控制和系統呼叫作業系統
- 【git】Ubuntu作業系統上安裝Git LFSGitUbuntu作業系統
- WindowsXP作業系統十例&#(轉)Windows作業系統
- Windows作業系統安裝MySQL解壓版Windows作業系統MySql
- Linux作業系統中的7功能詳解Linux作業系統
- 作業系統封裝操作薦作業系統封裝
- windows 作業系統映象下載Windows作業系統
- Windows 8 作業系統入門Windows作業系統
- WINDOWS系統檔案詳解Windows
- 作業系統3——程式的描述與控制作業系統
- 各個作業系統的 作業系統日誌作業系統
- 作業系統(二):作業系統結構作業系統
- 【作業系統】作業系統綜述(一)作業系統
- GIT 分散式版本控制系統的簡單使用介紹Git分散式
- AIX作業系統版本小知識AI作業系統
- java與作業系統相關的操作Java作業系統
- Windows 7 成為全球使用最廣泛的作業系統Windows作業系統
- 【作業系統】2.併發控制作業系統
- Windows作業系統的基本攻擊方式Windows作業系統