版本管理
- 为什么要对代码做版本管理
- 多人协作
- 历史版本回溯:回滚到特定阶段,恢复误删除的文件
- 什么是版本管理
- 版本管理就是管理更新的历史记录
- 版本管理发展历史
- 在Git出现以前,人们普遍采用Subversion(svn)等集中型版本管理系统,而现在Git已经成为了主流
版本管理分类
- 以Subversion(svn)为代表的集中型
- 会将仓库集中存放在服务器之中,所以只存在一个仓库
- 以Git为代表的分散型
- 将某个特定仓库复制到自己的账户下,拥有多个仓库,相对而言稍显复杂。不过,由于本地的开发环境中就有仓库,所以开发者不必连接远程仓库就可以进行开发。
常见版本管理工具
- GIT
- 目前应用最广最流行的版本管理工具,也是现在各个公司主流使用的版本管理工具。
- SVN
- Client-Server模式版本管理工具,为了取代CVS而出现。
- CVS
- Client-Server模式版本管理工具,比较老的技术。
- GitHub:https://github.com/
- 一个国际通用的代码托管网站,互联网上广泛使用的开放的代码管理服务器。
- GitLab:https://about.gitlab.com/
- 企业内部搭建的开源代码管理的私有服务器,一般企业都用它搭建自己私有服务器(私服)。
- Gitee:https://gitee.com/
- 一个国内代码托管网站,功能类似于GitHub。
- Git就是分布式版本控制系统
- 下载安装包,下载地址:https://gitforwindows.org/
- 安装,所有选项默认即可
- TortoiseGit是一款开源的git的版本控制系统,也叫海龟git。
- TortoiseGit提供了人性化的图形化界面,不用像Git一样输入许多语句(git init、git add、git commit等)。
- 轻松使用鼠标,就可以完成代码的提交和上传。
- 对于使用本地Git的新手来说,TortoiseGit更加简便,更加容易上手。
- 下载安装包:https://tortoisegit.org/download/
- 默认安装,桌面上右击,右键菜单中出现TortoiseGit即代表安装成功。
- 远程仓库、本地仓库、暂存区、工作目录
第一步:生成公钥秘钥对
- TortoiseGit后,在安装目录打开运行puttygen.exe,点击Generate生成密钥对
第四步:添加SSH公钥
- 自定义标题
- 粘贴PublicKey
- Gitee上新建仓库→输入自定义仓库名称→创建
- 初始化Git仓库:VCS→Create Git Repository
- 查看隐藏的项目后,检查项目目录(工程目录)下级出现一个隐藏文件夹,名称是.git,代表初始化成功。
- 工程→TortoiseGit→Settings
- Remote→origin→Push URL→Putty Key(选择私钥文件)
- 如果没有初始化Git仓库,就无法做远程访问配置
- 建议所有的git仓库都有一个.gitignore文件
问题:如果不上传的logs、screenshots、report、cookies文件夹,一旦别人从服务器下载我们的代码,这些文件夹不存在时,运行报错。
解决方案:在不上传的文件夹使用前,都先判断文件夹是否存在,如果不存在就创建它们然后再使用。
- 修改utils包里的logger.py
- 修改pageobject包里的loginpage.py
- 修改common包里的case_action.py
- 修改testsuite包里的testsuite10001.py
- Add到暂存区
- Commit到本地仓库
- Push推送到远程仓库
- 输入Commit Message(提交说明信息)
- 首次提交本工程代码,可能提示输入远程仓库地址,如果本电脑首次使用Git还需要配置全局用户名和邮箱,如果代码中有TODO(待完成),也会出现提示。
- 推送
- 推送成功后,检查远程仓库里是否出现你上传的代码
- git分支就是在版本控制过程中,使用多条线同时推进多个任务。
- 主分支master,按照团队或人员分出几个分支。
- 在公司里,每个团队处理属于自己的分支,不同部门和人员分支互不干扰,也不影响主分支,假如某个分支出现严重错误,只需要删除这个分支重新来过,其他分支没影响。
- 分支的好处:
- 同时并行推进多个功能开发,提高开发效率。
- 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开发即可。
- 个人开发流程
- 创建本地分支
- 推送本地分支到远程
- 在本地分支里写和提交代码
- 开发完毕后,把主分支代码下拉(pull)
- 把本地分支合并到本地主分支,如果有冲突,合并(Merge)
- 提交本地主分支到远程主分支
- 删除本地分支和远程分支
- Pycharm右下角master,选择New Branch,输入分支名称(如:branch1),点击Create
- Pycharm右下角branch1,点击branch1下的Push,点击Push
- 开发代码,Git---Commit File
- Push
- seProject1---Git---Branches---master---Checkout
- Pycharm右下角---master---branch1---Merge branch1 into master---Delete branch1
- Git---Push
- 删除本地branch
- 删除远程branch
- 问题:多个人同时操作同一个文件,Push时有冲突提示
- 应用场景:别人制作的代码,我们要在此基础上二次开发,
- 复制HTTPS地址,本地磁盘某个文件夹→右击→Git Clone→粘贴
- Git clone时,选择branch,输入branch名称
- 从远程服务器下载代码到本地
作者:暄总-tester