一、Git 和 SVN 区别
1. 核心区别
2. 简单理解
SVN
结构:
SVN服务器
|
-------------------
| | |
开发A 开发B 测试大家操作同一个仓库。
例如:
你修改代码:
svn commit直接提交到服务器。
Git
结构:
Git服务器
|
----------------
| |
本地仓库 本地仓库
|
工作区你的电脑:
代码文件
↓
git add
↓
本地仓库
↓
git commit
↓
远程仓库二、Git安装
Windows
官网下载:
安装:
一路 Next 即可。
安装完成:
打开 CMD:
git --version例如:
git version 2.50.0说明成功。
配置用户
第一次必须配置:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"查看:
git config --list例如:
user.name=zhangsan
user.email=test@qq.com三、Git基本使用流程
1. 创建仓库
创建目录:
mkdir test_project
cd test_project初始化:
git init结果:
.git/出现说明成功。
2. 查看状态
git status例如:
Untracked files:
test.py表示:
Git发现新文件,但是没有管理。
3. 添加文件
单个:
git add test.py全部:
git add .4. 提交
git commit -m "新增登录接口测试"例如:
[master abc123]
新增登录接口测试四、Git常用命令
1. 查看日志
git log简洁:
git log --oneline结果:
a123 登录接口
b456 修改bug
c789 初始化2. 查看修改
git diff3. 删除文件
删除:
git rm test.py提交:
git commit -m "删除文件"五、Git分支
测试开发非常常用。
查看分支
git branch创建分支
git branch dev切换分支
旧:
git checkout dev新:
git switch dev创建并切换
git checkout -b dev或者:
git switch -c dev合并分支
例如:
master合并dev:
git checkout master
git merge dev六、远程仓库操作
例如:
GitHub、GitLab、阿里云Codeup。
查看远程地址
git remote -v添加远程仓库
git remote add origin 仓库地址例如:
git remote add origin git@codeup.aliyun.com:test/demo.git拉代码
第一次:
git clone 地址例如:
git clone git@codeup.aliyun.com:test/demo.git拉取最新代码
git pull等价:
git fetch
+
git merge上传代码
第一次:
git push -u origin master以后:
git push七、Git冲突处理
场景:
你和别人改同一个文件。
pull:
git pull出现:
CONFLICT查看:
git status解决:
编辑文件:
<<<<<<<
你的代码
=======
别人代码
>>>>>>>删除冲突标记。
然后:
git add .
git commit -m "解决冲突"
git push八、Git测试人员常用场景
场景1:拉测试代码
git clone 项目地址场景2:更新代码
每天:
git pull场景3:提交自动化脚本
git add .
git commit -m "新增接口自动化"
git push场景4:查看别人提交
git log --oneline九、SVN安装
Windows
安装:
TortoiseSVN:
安装完成。
命令行验证:
svn --version看到:
svn, version 1.14成功。
十、SVN基本使用
下载代码
SVN叫:
checkout
命令:
svn checkout 地址例如:
svn checkout https://svn.xxx.com/project查看状态
svn status例如:
M test.pyM:
Modified
更新代码
svn update相当于 Git:
git pull提交
svn commit -m "修改测试脚本"添加文件
svn add test.py删除
svn delete test.py查看日志
svn log十一、SVN和Git命令对应
十二、重点
必须熟练
✅ git clone
✅ git pull
✅ git add
✅ git commit
✅ git push
✅ git branch
✅ git merge
✅ git checkout/switch
✅ git log
✅ git diff
面试常问
1. Git为什么比SVN快?
因为:
Git本地有完整仓库
大部分操作不用访问服务器
2. Git pull和fetch区别?
git fetch只下载代码。
git pull下载 + 合并。
3. Git merge和rebase区别?
简单:
merge:
保留历史分叉rebase:
整理成一条直线4. SVN为什么还有公司用?
因为:
老项目多
权限控制简单
企业内部系统稳定
对于你现在的测开路线:
优先级:
Git
↓
GitLab/Codeup
↓
Jenkins流水线
↓
自动化测试代码提交执行SVN了解即可,除非目标公司是传统行业(银行、国企、制造)。你目前准备的 pytest + Jenkins + 自动化,Git 是必须熟练的。