SVN
- SVN是開放源代碼的版本控制系統(tǒng)
- 集中式的含義是指:所有的文件都在倉庫中,而他的倉庫是在服務(wù)器上的,一旦服務(wù)器出現(xiàn)問題,就無法更新或者獲取S VN中的信息,集中式的版本管理工具在本地備份的只是數(shù)據(jù),沒有層級結(jié)構(gòu)。SVN就是集中式的工具
- 分布式的含義是指:并不是所有的文件都在服務(wù)器中,例如git就是分布式的版本管理工具;分布式服務(wù)器會在每個客戶端都有詳細的,完整的備份(備份不僅僅是文件或代碼,還有結(jié)構(gòu))
SVN的安裝和介紹
- SVN是一款集中式的項目版本管理工具
- 備注:集中式是和分布式相對應(yīng)的,
- 它主要用來管理代碼,其他內(nèi)容也可以進行管理,例如測試用例
- 工作流程:
SVN的安裝
- SVN的安裝分為SVN服務(wù)器和SVN客戶端的安裝
- SVN服務(wù)器一般由測試經(jīng)理搭建并進行維護;測試人員一般安裝的都是SVN客戶端
- linux安裝:命令
yum install subversion
- windows安裝:去SVN官網(wǎng)下載SVN,雙擊運行安裝
- SVN安裝好后,右擊鼠標(biāo),出現(xiàn)如下圖框選的標(biāo)簽就表示安裝完成
- 首次下載SVN服務(wù)器中的誰,我們先用checkout
- 如果已經(jīng)checkout了,那么我們就要使用update來下載服務(wù)器中的數(shù)據(jù)
- 如果想提交信息到服務(wù)器,使用commit來進行提交
操作
- checkout時,在目標(biāo)文件中,右擊鼠標(biāo),選擇“SVN Checckout”即可,選擇之后會出現(xiàn)以下彈框
- 上圖中的“URL of reposstory”指的是:SVN的url,語法是以SVN開頭,代表SVN協(xié)議,
://
表示分割符,后面跟ip地址和端口號,在跟倉庫的路徑信息(如果有的話) - “Checkout directory”指的是:倉庫中文件要在本地放置的路徑
- checkout之后,目標(biāo)文件中會多出一個
.svn
的文件,這個文件的出現(xiàn),就代表著目標(biāo)文件夾已經(jīng)變成了一個本地SVN放置文件的客戶端,可以使用SVN相關(guān)的功能了 - 后續(xù)再去倉庫中更新文件,直接右擊鼠標(biāo),然后選擇“SVN update”即可
- 往SVN中傳輸文件的時候,要右擊鼠標(biāo),選擇“SVN commit”,會出現(xiàn)以下的彈框,需要在Message中輸入提交信息,說明提交的文件是什么;然后勾選提交文件,點擊ok即可
- 提交成功之后,目標(biāo)文件中被怒提交程序的左下角會多一個綠色的對號
沖突
- 一般情況下,先update,再commit,會避免沖突的產(chǎn)生
- 沖突產(chǎn)生的原因:A,B為SVN的兩個客戶端;A客戶修改了SVN倉庫中的file1文件,并不提交成功;B客戶是在A提交文件之前update的代碼,在A提交之后,修改相同文件中的同行代碼提交,這樣的操作就會造成沖突
- 解決沖突的方式:直接update之后,目標(biāo)文件中會產(chǎn)生多個文件,將你的,原倉庫的,同事提交的信息全部提供,請找測試經(jīng)理決定使用哪個文件
- 需要先還原倉庫文件,右擊鼠標(biāo),選擇Revert,或者Update to revision進行還原
- 使用Update to revision方式,會出現(xiàn)下圖的彈框
- 點擊上圖中的show log,選擇歷史版本文件夾即可。但是在沖突沒有解決的情況下,這種方式是無法還原成功的
- Revert方式比較容易造成數(shù)據(jù)的丟失,他是直接還原之前的版本。直接右擊鼠標(biāo),選擇Revert,勾選出現(xiàn)的彈框中,最初版本的文件,點擊ok即可,但這種方式會丟失自己修改后的文件
Git
-
git是世界上最先進的分布式版本控制系統(tǒng)
-
git是分布式版本控制系統(tǒng),與SVN集中式不一樣,就算Git的代碼倉庫服務(wù)器崩潰了,也不影響本地開發(fā)
-
Git的具體工作流程如下:
-
分布式:服務(wù)器的數(shù)據(jù)分布到各個客戶端,Git分布署:GitHub代碼倉庫不僅僅本地有,還分布到Git的各個客戶端中
-
使用Git的核心步驟文章來源:http://www.zghlxwxcb.cn/news/detail-467530.html
-
- 1.先add代碼到Git緩存
-
- 2.然后commit到Git的本地倉庫
-
- 3.最后Push到遠程GitHub代碼倉庫
-
git簡單的工作原理如下:
文章來源地址http://www.zghlxwxcb.cn/news/detail-467530.html
Git的安裝和配置
- windows系統(tǒng),直接到官網(wǎng)下載git,雙擊進行安裝
- 網(wǎng)址:https://git-scm.com/downloads
- 打開后如圖,選擇版本,跳轉(zhuǎn)頁面之后,下載雙擊根據(jù)安裝向?qū)О惭b即可
- linux系統(tǒng),yum -y install git
- 檢驗git的安裝 打開cmd窗口,輸入
git --version
,查看git的版本號 - 也可以右擊鼠標(biāo),桌面會出現(xiàn)
git GUI here
和Git Bash Here
的標(biāo)識 - git配置的簽名:每次使用git的時候,表明時誰修改的git的名稱或者郵箱,讓系統(tǒng)/同事可以識別是誰修改的代碼或者文件
-
- 配置郵箱:git config --global user.email XXX@163.com
-
- 配置用戶名:git config --global user.name yiyi (自定義設(shè)置名字)
git的命令行用法
- git命令可以通過pycharm使用,也可以通過命令行使用
-1) 使用git初始化本地倉庫: -
- 打開git的命令行窗口,方式為右擊鼠標(biāo),選擇
Git Bash Here
即可
- 打開git的命令行窗口,方式為右擊鼠標(biāo),選擇
-
- 新建一個文件夾,然后在文件夾所在的目錄中輸入git命令,初始化本地倉庫,命令為
git init
- 新建一個文件夾,然后在文件夾所在的目錄中輸入git命令,初始化本地倉庫,命令為
-
- 將本地倉庫初始化之后,會出現(xiàn)一個
.git
的本地文件,這個文件是git的本地文件,不可刪除
- 將本地倉庫初始化之后,會出現(xiàn)一個
- 2)Add將文件的索引,添加到緩存區(qū)域
-
- 命令:
git add 文件名
- 命令:
-
- 操作步驟:
-
-
- 在本地git倉庫(即初始化之后的文件夾)中新建一個py文件;
-
-
-
- 在當(dāng)前目錄中打開cmd,輸入
git add 文件名
- 在當(dāng)前目錄中打開cmd,輸入
-
-
-
- 查看有沒有將add的文件添加至緩存區(qū),使用的命令為:
git status
,如果出現(xiàn)new file 文件名
的標(biāo)志,說明文件已經(jīng)添加到緩存中
- 查看有沒有將add的文件添加至緩存區(qū),使用的命令為:
-
- 3)commit提交代碼到本地倉庫
-
- 命令:
git commit -m 提交文件的注釋信息
- 命令:
-
- 如果提交成功,會返回
XX file change
的提示信息
- 如果提交成功,會返回
-
- 使用
git status
查看時,沒有任何文件顯示
- 使用
-
git add
和git commit
都是本地操作,沒有提交到遠程倉庫中 - 4)pull和push代碼
-
- pull 拉取遠程倉庫的代碼到本地
-
- push 推送本地的代碼到遠程倉庫
-
- git和遠程倉庫進行交互時,需要先關(guān)聯(lián)倉庫到遠程倉庫,因為git內(nèi)部有遠程倉庫的配置文件,因此我們只需要根據(jù)git的遠程倉庫的配置,配置遠程倉庫的URL后,就可以完成關(guān)聯(lián)
-
- 關(guān)聯(lián)倉庫的命令:
git remote add origin 倉庫的鏈接地址
- 關(guān)聯(lián)倉庫的命令:
-
-
- 解析:git 使用的工具;remote:與遠程倉庫建立連接的配置;add:添加遠程倉庫;origin:遠程倉庫的別名
-
-
- 查看倉庫是否關(guān)聯(lián):git remote,如果
-
- 由于遠程倉庫新增了readme文件,這些本地沒有,所以先使用pull
-
- 命令為:
git pull origin master --allow- unrelated- histories
,執(zhí)行之后會存在下載進度條
- 命令為:
-
- 這個時候就可以push到遠程倉庫了,命令:
git push -u origin master
,執(zhí)行之后也會出現(xiàn)上傳進度條
- 這個時候就可以push到遠程倉庫了,命令:
-
- 首次提交會彈出輸入git賬號和密碼的彈框,按照要求輸入賬號和密碼即可
git 代碼沖突
- 代碼沖突的原因時不同版本的操作,修改了同一個文件夾
- 如果出現(xiàn)了無法由程序調(diào)和的沖突,一般都是先人工解決
- 平常都是先pull,再push,來避免沖突
- 1)產(chǎn)生沖突到解決沖突的過程:
-
- 第一步:在遠程中修改文件
-
- 第二部:在本地倉庫修改遠程倉庫中同樣的文件
-
- 第三部:提交本地倉庫的文件到遠程倉庫,產(chǎn)生沖突
-
- 第四部:合并代碼,解決沖突
- 2)解決沖突的方式:
-
- 命令:
git pull origin
,執(zhí)行之后出現(xiàn)下載進度條
- 命令:
-
- 打開目標(biāo)git倉庫,倉庫中沖突的文件會發(fā)生變更,會將遠程倉庫中沖突的代碼追加到修改的文件中
-
- 將修改文件中的代碼修改后,重新執(zhí)行add,commit和push的命令
持續(xù)集成和持續(xù)交付
定義
- 持續(xù)集成:指把團隊的成果周期性的集成到一起
- 持續(xù)交付:指通過自動化技術(shù),自動對提交的產(chǎn)品進行測試和發(fā)布的過程
目的
- 持續(xù)集成
-
- 每天集成代碼到平臺
-
- 自動化運行單元測試,檢查到嗎質(zhì)量
-
- 打包,并反饋結(jié)果
- 持續(xù)集成可以讓開發(fā)更快速打包部署檢查自己的代碼質(zhì)量
- 持續(xù)交付
-
- 自動部署測試環(huán)境
-
- 自動執(zhí)行自動化代碼
-
- 自動發(fā)布
持續(xù)集成和持續(xù)交付實施模型分析
- 持續(xù)集成
- 持續(xù)交付
- 持續(xù)交付的目的是為了加速環(huán)境的搭建,自動化測試,發(fā)布的流程,還用來保證一個穩(wěn)定的產(chǎn)品版本能夠隨時發(fā)布
到了這里,關(guān)于軟件測試——版本管理工具:SVN和Git的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!