眾所周知,Git僅能跟蹤文本文件,而QTP所生成的對象庫文件xx.tsr是一種二進制文件,不可以被git所跟蹤。本文詳細介紹了利用git的hooks特性,來將xx.tsr文件轉(zhuǎn)換成xx.xml文件,以便跟蹤對象庫的版本歷史。
創(chuàng)新互聯(lián)是一家專業(yè)提供大連企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站設(shè)計、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為大連眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。首先,git的hooks特性是指在特定事件發(fā)生之前或者之后執(zhí)行特定腳本代碼的功能(從概念上類比,與監(jiān)聽事件、觸發(fā)器等類似)。特定事件既是指git執(zhí)行的特定事件,如commit,push,recieve等,以下是常見的git事件:
applypatch-msg
pre-applypatch
post-applypatch
pre-commit
prepare-commit-msg
commit-msg
post-commit
pre-rebase
post-checkout
post-merge
pre-receive
update
post-receive
post-update
pre-auto-gc
post-rewrite
在本文中,我們要用到的事件是 pre-commit和post-merge。其配置方法如下:
一)第一種方式:默認hooks目錄
每個git倉庫下都包含有.git/hooks目錄,里面就是放置hooks(腳本)的地方,當git事件執(zhí)行時,相應(yīng)的hooks(腳本)就會自動執(zhí)行。
注意:
git事件對應(yīng)的hooks的腳本文件名"必須"與事件列表名一樣(默認.git/hooks下的事例都是以.sample結(jié)尾,使用時要去掉后綴),例如寫pre-commit事件的hooks時,文件名必須是pre-commit,而不是pre-commit.sample。
二)第二種方式:自定義hooks目錄
創(chuàng)建一個.gitconfig文件,里面指定hooks目錄地址,然后使用.gitconfig的配置。例如:
在倉庫根目錄下創(chuàng)建.gitconfig文件,并包含如下內(nèi)容:
[core]
hooksPath=./libs/hooks
2. 運行如下命令來引用.gitconfig
#git config --local include.path ../.gitconfig
為了方便使用,我已經(jīng)在我的GitHub上面創(chuàng)建了Sample倉庫,大家可以clone下來直接使用。里面根據(jù)第二種方式配置了兩個腳本:pre-commit和post-merge,用來實現(xiàn)commit前自動將xx.tsr轉(zhuǎn)換成xx.xml文件以便跟蹤,以及當pull下來并且merge后,再將xx.xml文件轉(zhuǎn)換成QTP可使用的xx.tsr文件。
Github地址:https://github.com/TaoismLEE/Sample.git
注意:
1. clone下來后,一定記得運行g(shù)it config --local include.path ../.gitconfig來引用配置;
2. 初次將xx.tsr文件放于libs文件夾下。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。